Difference between revisions of "VALT Technical Specifications"

From IVS Wiki
Jump to: navigation, search
(Software Backups & Maintenance)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Introduction=
+
<div class="floating_card">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.</div>
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.
+
__TOC__
  
=Server Side Software Architecture=
+
{{Section | title = <h1>Software Overview</h1> | content =  
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:
+
<dl>
 +
<dt>VALT</dt> 
 +
<dd>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.</dd>
  
'''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.
+
<dt>BEAM</dt> 
 +
<dd>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.</dd>
 +
</dl>
 +
}}
  
'''Database:'''  The database stores all the unique customer specific information.
+
{{Top of Page}}
  
'''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.
+
{{Server Side Software Architecture}}
  
[[File:specific-1.jpg|link=https://wiki.ipivs.com/wiki/images/7/75/Specific-1.jpg]]
+
{{Top of Page}}
  
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.
+
{{Client Side Software Architecture}}
  
'''Single Server Example''':
+
{{Top of Page}}
  
[[File:specific-2.jpg|link=https://wiki.ipivs.com/wiki/images/1/1f/Specific-2.jpg]]
+
{{Hardware Requirements | title = <h1>Hardware Requirements</h1>}}
  
'''Multi-Server Example''':
+
{{Top of Page}}
  
[[File:specific-3.jpg|link=https://wiki.ipivs.com/wiki/images/6/67/Specific-3.jpg]]
+
{{Solution Architecture Overview}}
  
=Client Side Software Architecture=
+
{{Top of Page}}
The Valt client software is browser based.  The software has been validated with the following web browsers:
 
  
    • Chrome 
+
{{Network Architecture}}
    • Internet Explorer 10, 11, 12 (Deprecated)
 
    • Microsoft Edge
 
    • Firefox
 
    • Safari
 
  
The client software consists of two primary components as shown below.
+
{{Top of Page}}
  
 +
{{Bandwidth & Storage}}
  
[[File:specific-4.jpg|link=https://wiki.ipivs.com/wiki/images/2/25/Specific-4.jpg]]
+
{{Top of Page}}
  
=Client PC Requirements=
+
{{Authentication Methods}}
  
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:
+
{{Top of Page}}
  
{| class="wikitable"
+
{{VALT 5.6 Permissions - Specifications}}
| Image
 
| Processor
 
| Memory
 
| 720P
 
| 1080P
 
|-
 
| [[File:i3.jpg|link=]]
 
| Core i3
 
| 4GB
 
| 2
 
| 1
 
|-
 
| [[File:i5.jpg|link=]]
 
| Core i5
 
| 4GB
 
| 4
 
| 3
 
|-
 
| [[File:i7.jpg|link=]]
 
| Core i7
 
| 8GB
 
| 7
 
| 5
 
|-
 
|}
 
  
=Solution Architecture Overview=
+
{{Top of Page}}
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
 
  
[[File:specific-5.jpg|link=https://wiki.ipivs.com/wiki/images/3/3a/Specific-5.jpg]]
+
{{Backups | title = <h1>Software Backups & Maintenance</h1>}}
  
=Network Architecture=
+
{{Top of Page}}
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.
 
 
 
[[File:specific-6.jpg|link=https://wiki.ipivs.com/wiki/images/9/9b/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.
 
 
 
[[File:specific-7.jpg|link=https://wiki.ipivs.com/wiki/images/a/a1/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. 
 
 
 
[[File:specific-8.jpg|link=https://wiki.ipivs.com/wiki/images/1/1f/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.
 
 
 
[[File:specific-9.jpg|link=https://wiki.ipivs.com/wiki/images/6/65/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.'''
 
 
 
=Containers=
 
Containers are used within our software to segment different objects from different users.  The objects that can currently be segmented into containers are: User Groups, Templates & Rooms.  Containers are often used in higher educational clinical training applications, where more than one department is sharing a single server or server cluster. 
 
 
 
An example would be a university putting in an IVS system to record student / patient interactions for both their Psychology and Speech Pathology programs.  Containers would allow them do designate 3 levels of administrators. 
 
 
 
'''Global''': This level would see all the Users Groups, Users, Templates, Rooms & Cameras on the IVS system.
 
 
 
'''Psychology''': This level would only see User Groups, Users, Templates, Rooms & Cameras assigned to the Psychology container.
 
 
 
'''Speech Pathology''': This level would only see User Groups, Users, Templates, Rooms & Cameras assigned to the Speech Pathology container.
 
 
 
There is no limit to how many containers / sub containers can reside within our system.
 
 
 
 
 
[[File:specifications-10.jpg|link=https://wiki.ipivs.com/wiki/images/7/78/Specifications-10.jpg]]
 
 
 
=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 [[Importing_Users_from_a_file|list]].
 
 
 
[[File:auth_local.jpg|link=]]
 
 
 
==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.
 
 
 
[[File:auth_ldap.jpg|link=]]
 
 
 
==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.
 
 
 
[[File:auth_sso.jpg|link=]]
 
 
 
=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 [http://ipivs.com/wikiAdding_a_User_Group Adding a User Group].
 
 
 
See below for a matrix of permissions available in the Valt software:
 
 
 
==Users & Groups Rights Table==
 
{| class="wikitable"
 
|style="font-style: bold; color: white; background-color:black;"|Permission
 
|style="font-style: bold; color: white; background-color:black;"|Group
 
|style="font-style: bold; color: white; background-color:black;"|User   
 
|-
 
|General
 
|align=center|X
 
|
 
|-
 
|General: Home
 
|align=center|X
 
|
 
|-
 
|General: Alert
 
|align=center|X
 
|
 
|-
 
|General: Edit Profile
 
|align=center|X
 
|
 
|-
 
|General: Change Password
 
|align=center|X
 
|
 
|-
 
|General: Password Rules
 
|align=center|X
 
|
 
|-
 
|General: Notifications
 
|align=center|X
 
|
 
|-
 
|Upload
 
|align=center|X
 
|
 
|-
 
|Upload: Sharing
 
|align=center|X
 
|
 
|-
 
|Upload: Author
 
|align=center|X
 
|
 
|-
 
|Upload: Retention
 
|align=center|X
 
|
 
|-
 
|Observe
 
|align=center|X
 
|
 
|-
 
|Observe: Recording
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Start
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Prepare
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Pause
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Pause: All Authors                               
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Pause: Resume All Authors                               
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Stop All Authors
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Sharing
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Evaluation
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Evaluation: View Option Values
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Evaluation: View Field Values
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Evaluation: View Total Values
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Change Author
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Retention
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Options
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Options: All Authors
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Add Markers
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Delete Markers
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Prepare
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Pause
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Pause: All Authors
 
|align=center|X
 
|
 
|-
 
|Observe: Recording: Pause: Resume All Authors
 
|align=center|X
 
|
 
|-
 
|Observe: Search
 
|align=center|X
 
|
 
|-
 
|Observe: Multi-Record
 
|align=center|X
 
|
 
|-
 
|Observe: Views
 
|align=center|X
 
|
 
|-
 
|Observe: Views: Recording
 
|align=center|X
 
|
 
|-
 
|Observe: Talkback
 
|align=center|X
 
|
 
|-
 
|Observe: PTZ
 
|align=center|X
 
|
 
|-
 
|Observe: PTZ: Control
 
|align=center|X
 
|
 
|-
 
|Observe: PTZ: All Authors
 
|align=center|X
 
|
 
|-
 
|Observe: PTZ: Presets
 
|align=center|X
 
|
 
|-
 
|Observe: PTZ: Add/Delete
 
|align=center|X
 
|
 
|-
 
|Observe: Lock
 
|align=center|X
 
|
 
|-
 
|Observe: Lock: Unlock all Users
 
|align=center|X
 
|
 
|-
 
|Observe: Edit Sharing
 
|align=center|X
 
|
 
|-
 
|Observe: Edit Sharing: Create Link
 
|align=center|X
 
|
 
|-
 
|Review
 
|align=center|X
 
|
 
|-
 
|Review: Markers
 
|align=center|X
 
|
 
|-
 
|Review: Markers: View All Authors
 
|align=center|X
 
|
 
|-
 
|Review: Markers: Add
 
|align=center|X
 
|
 
|-
 
|Review: Markers: Edit
 
|align=center|X
 
|
 
|-
 
|Review: Markers: Remove
 
|align=center|X
 
|
 
|-
 
|Review: Markers: Overlay
 
|align=center|X
 
|
 
|-
 
|Review: Tools
 
|align=center|X
 
|
 
|-
 
|Review: Tools: Clip
 
|align=center|X
 
|
 
|-
 
|Review: Tools: Redact
 
|align=center|X
 
|
 
|-
 
|Review: Delete
 
|align=center|X
 
|
 
|-
 
|Review: Download
 
|align=center|X
 
|
 
|-
 
|Review: Download: Audio
 
|align=center|X
 
|
 
|-
 
|Review: Download: Multiview
 
|align=center|X
 
|
 
|-
 
|Review: Change Author
 
|align=center|X
 
|
 
|-
 
|Review: Edit Information
 
|align=center|X
 
|
 
|-
 
|Review: Evaluation
 
|align=center|X
 
|
 
|-
 
|Review: Evaluation: View Option Values
 
|align=center|X
 
|
 
|-
 
|Review: Evaluation: View Field Values
 
|align=center|X
 
|
 
|-
 
|Review: Evaluation: View Total Value
 
|align=center|X
 
|
 
|-
 
|Review: Evaluation: Edit
 
|align=center|X
 
|
 
|-
 
|Review: Edit Sharing
 
|align=center|X
 
|
 
|-
 
|Review: Edit Sharing: Link
 
|align=center|X
 
|
 
|-
 
|Review: Change Author
 
|align=center|X
 
|
 
|-
 
|Review: Edit Retention
 
|align=center|X
 
|
 
|-
 
|Schedule
 
|align=center|X
 
|
 
|-
 
|Schedule: Add
 
|align=center|X
 
|
 
|-
 
|Schedule: Exceptions
 
|align=center|X
 
|
 
|-
 
|Schedule: Edit
 
|align=center|X
 
|
 
|-
 
|Schedule: Edit: All Authors
 
|align=center|X
 
|
 
|-
 
|Schedule: Delete
 
|align=center|X
 
|
 
|-
 
|Schedule: Sharing
 
|align=center|X
 
|
 
|-
 
|Schedule: Change Author
 
|align=center|X
 
|
 
|-
 
|Schedule: Retention
 
|align=center|X
 
|
 
|-
 
|Schedule: Control
 
|align=center|X
 
|
 
|-
 
|Schedule: View All Authors
 
|align=center|X
 
|
 
|-
 
|Reports
 
|align=center|X
 
|
 
|-
 
|Reports: Add
 
|align=center|X
 
|
 
|-
 
|Reports: Edit
 
|align=center|X
 
|
 
|-
 
|Reports: Delete
 
|align=center|X
 
|
 
|-
 
|Admin
 
|align=center|X
 
|
 
|-
 
|Admin: General
 
|align=center|X
 
|
 
|-
 
|Admin: General: Software Information
 
|align=center|X
 
|
 
|-
 
|Admin: General: Global Settings
 
|align=center|X
 
|
 
|-
 
|Admin: General: Media Servers
 
|align=center|X
 
|
 
|-
 
|Admin: General: Customization
 
|align=center|X
 
|
 
|-
 
|Admin: Templates
 
|align=center|X
 
|
 
|-
 
|Admin: Rooms
 
|align=center|X
 
|
 
|-
 
|Admin: Users & Groups
 
|align=center|X
 
|
 
|-
 
|Admin: Users & Groups: LDAP
 
|align=center|X
 
|
 
|-
 
|Admin: Users & Groups: LDAP: User Import
 
|align=center|X
 
|
 
|-
 
|Admin: Users & Groups: LDAP: Servers
 
|align=center|X
 
|
 
|-
 
|Admin: Users & Groups: LDAP: Sync Schedules
 
|align=center|X
 
|
 
|-
 
|Admin: Users & Groups: SSO
 
|align=center|X
 
|
 
|-
 
|Admin: Logs
 
|align=center|X
 
|
 
|-
 
|Admin: Help
 
|align=center|X
 
|
 
|-
 
|Admin: Media Servers
 
|align=center|X
 
|
 
|-
 
|Admin: Containers
 
|align=center|X
 
|
 
|-
 
|Admin: Update
 
|align=center|X
 
|
 
|-
 
|Admin: Multi-Delete
 
|align=center|X
 
|
 
|-
 
|Rooms
 
|align=center|X
 
|align=center|X
 
|-
 
|Video Access
 
|align=center|X
 
|align=center|X
 
|-
 
|Default Retention Rule
 
|align=center|X
 
|
 
|-
 
|I/O Record Name
 
|align=center|X
 
|
 
|-
 
|Max Record Duration
 
|align=center|X
 
|
 
|-
 
|Schedule View
 
|align=center|X
 
|
 
|-
 
|Reports View
 
|align=center|X
 
|
 
|-
 
|Search Results View
 
|align=center|X
 
|
 
|-
 
|Search Results Display Columns
 
|align=center|X
 
|
 
|-
 
|Filters
 
|align=center|X
 
|
 
|-
 
|Views
 
|align=center|X
 
|
 
|-
 
|Restricted Access
 
|align=center|X
 
|align=center|X
 
|-
 
|Expiration Date
 
|align=center|X
 
|align=center|X
 
|-
 
|Review List Period
 
|align=center|X
 
|
 
|-
 
|Email
 
|
 
|align=center|X
 
|-
 
|Mobile PIN
 
|
 
|align=center|X
 
|-
 
|Card Number
 
|
 
|align=center|X
 
|-
 
|SSO/SAML IDP
 
|
 
|align=center|X
 
|-
 
|Display Name
 
|
 
|align=center|X
 
|-
 
|Control Type
 
|
 
|align=center|X
 
|-
 
|}
 
 
 
=Software Backups & Maintenance=
 
<div class="section">
 
Our software runs on Ubuntu 20.04 LTS.  It does not come preconfigured with any automated backup software. From a redundancy perspective, our hardware does ship with different RAID levels for the different volumes (typically RAID1 mirror for OS and software and RAID5 for video storage volume).  It is recommended to backup the MySQL database (v3). This database contains all the unique software settings and video pointers required to rebuild the OS volume. If you have an existing backup system to integrate with that is recommended, and if you do not wish to perform MySQL backups, a cronjob can be set up on the server. 
 
</div>
 
 
 
 
 
<div class="section">
 
<b>Example:</b>
 
 
 
<div class="codeText">0 0 * * * mysqldump -uroot -padmin51 v3 | gzip -c > /usr/local/valt/backup/v3_`date "+\%F_\%T"`.sql.gz</div>
 
 
 
 
 
<div class="codeText">0 1 * * * find /usr/local/valt/backup/ -type f -mtime +7 -name '*.gz' -print0 | xargs -r0 rm –</div>
 
</div>
 
 
 
 
 
<div class="section">
 
Some customers also opt to create a backup of the video files.  The video volume mount point for this is '''/usr/local/WowzaStreamingEngine/content/valt_recordings'''
 
 
 
Video can be moved from media server to media server at any time, so additional media servers can be added when you are running low on disk space.  Where the video resides physically is transparent from an end user perspective.
 
</div>
 

Latest revision as of 10:08, 17 May 2023

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
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
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 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

Single Server

From a physical or virtual server perspective the entire server side software stack can be run on a single server.

Specific-2.jpg


Multiple Servers

For applications that necessitate the use of over 50 cameras or encompass multiple departments, our software provides the option to distribute its functionality across multiple "Media Servers". These dedicated servers are specifically designed to handle the crucial tasks of processing the video stream component of the VALT application and efficiently storing the associated video files. This multi-server architecture offers exceptional flexibility and scalability, accommodating diverse and expanding needs.

Specific-3.jpg

⇧ 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

Supported Browsers

VALT uses HTML5 for all video controls. No 3rd party software or plug-ins are required to run VALT. Virtually any modern browser should be compatible with VALT however we only test compatibility with the browsers listed below.

Desktop Browsers


Icon Browser Tested Version Recommended 1-5
App-Chrome-icon.png Chrome Latest Available 5
Microsoft edge logo .png Microsoft Edge Latest Available 4
Firefox-logo.png Firefox Latest Available 3
Safari-logo.png Safari Latest Available 2


Android & iOS


Icon Browser Tested Version Recommended 1-5
App-Chrome-icon.png Chrome Latest Available 5

⇧ 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

The network architecture for a VALT solution can look different for many of our customers.

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

⇧ 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 Connection Speed
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


Users & Groups

The VALT Software is compromised of 7 main sections.

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.


VALT Sections of Software.png


Group Level

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


VALT Section Permissions.png


User Level

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

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


VALT Section User Permissions.png


Group Level Permissions

Here are lists of the permissions 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

This section applies to buttons or notifications that are system wide.

Permission Description Group User
↓ General Grants access to the features within the General Section. X
Home Grants user access to Home section. X
Alert Shows alert notification banner. X
Edit Profile Grants the ability for a user to change their display name and email. X
Change Password Grants the ability for a user to change their password if the account is a local user type. X
Notifications Show notifications in upper right corner when actions within VALT are performed. X

↑ back to Users & Groups


Observe

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

Permission Description Group User
↓ Observe Grants users access to the review section. X
↓ Recording These settings are used in the Observe section of the software. To start a recording a user must also have access to the live observation. X
Start Grants the ability to start recordings. X
Prepare Grants the ability for a user to set up a recording without starting it and then come back later to just click start on the recording. X
↓ Evaluation Grants the ability to fill out an evaluation form at the beginning or during a recording. X
View Option Values Grants the ability to see evaluation option values at the beginning or during a recording. X
View Field Values Grants the ability to see evaluation field values at the beginning or during a recording. X
View Total Value Grants the ability to see evaluation total values at the beginning or during a recording. X
Sharing Grants the ability to change the permissions on an individual video. This can be used to grant access to the video to users who could not normally see that video. It cannot be used to restrict access to a video from a user who would normally have access. X
Change Author Grants the ability to change the author of the recording at the beginning or during the recording process. X
Retention Grants the ability to change the retention from the author defaults at the beginning or during the recording process. X
Stop All Authors Grants the ability to stop recordings a user has access to authored by another user. X
↓ Stop Confirmation If checked this will provide a confirmation prompt whenever the user presses the stop button to stop a recording. X
All Authors Grants the ability for a user to pause other users recordings. X
Resume All Authors Grants the ability for a user to resume other users paused recordings. X
Add Markers Grants the ability to add markers while a video is recording. X
↓ Options Grants the ability to make changes to a recording while a recording is in progress. X
All Authors Grants the ability to make changes to other users recordings while in progress. X
Create Sharing Link Grants the ability to generate a link that will grant direct access to a video. This link can be distributed to people without access to Valt. This permission also allows for the user to disable existing links. X
↓ Lock Grants the ability to lock a room so it cannot be used for recording or live observation until unlocked. X
Unlock All Users Grants the ability to unlock rooms locked by other users. X
↓ Views Grants the ability to save groups of cameras as a view so they can easily be called up together for live observation. X
Recording Grants the ability to record views. X
Talkback Grants the ability to use the talkback feature of the software which allows the user to use their computer microphone to communicate with the subjects in the room through either a speaker or earbud. X
↓ PTZ This section applies only to PTZ short for pan tilt and zoom enabled cameras. X
All Authors Grants the ability to control the pan, tilt, and zoom of a camera with PTZ capabilities while that camera is currently being recorded by another user. X
Control Grants the ability to control the pan, tilt, and zoom of a camera with PTZ capabilities. X
↓ Presets Grants the ability to move the camera to a previously designated position using the preset dropdown. X
Add/Delete Grants the ability to create and delete presets. X

↑ back to Users & Groups


Review

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

Permission Description Group User
↓ Review This section of the software is used to view previously recorded sessions, update metadata, download, and delete existing videos. X
Edit Information Grants the ability to change the information filled in when starting the recording associated with a video. X
↓ Evaluation Grants the ability to view the evaluation form. X
View Option Values Grants the ability to see evaluation option values. X
View Field Values Grants the ability to see evaluation field values. X
View Total Value Grants the ability to see evaluation total values. X
Edit Grants the ability to edit the evaluation. X
↓ Edit Sharing Grants the ability to change the permissions on an individual video. This can be used to grant access to the video to users who could not normally see that video. It cannot be used to restrict access to a video from a user who would normally have access. X
Link Grants the ability to generate a link that will grant direct access to a video. This link can be distributed to people without access to Valt. This permission also allows for the user to disable existing links. X
Change Author Grants the ability to assign a previously recorded video to another user. This is particularly useful when starting and stopping recordings with a button as recordings started this way will be assigned to a generic user. X
Edit Retention Grants the ability to adjust the retention period on an individual video. X
Delete Grants the ability to delete recordings. X
↓ Download Grants the ability to download recordings. X
Audio Grants the ability for the user to create and download an audio only version of the recording. X
Multiview Grants the ability for the user to create and download a video with up to four camera angles. X
Add Transcript Grants the ability for the user to add a camera from the recording to a transcription queue. X
↓ Markers Markers are used to add information to specific points within a recording. X
View All Authors Grants the ability to view the markers created by other users. X
Add Grants the ability to add markers to a prerecorded video. X
Edit Grants the ability to edit existing markers. X
Remove Grants the ability to delete an existing marker. X
Overlay Grants the ability for the name of the marker to be overlaid on the recording for the user when the recording is being played. X
↓ Tools Grants access to the tools button within review. X
Clip Grants the ability to create clips from existing recordings. This creates a new video and does not affect the original video. X
Redact Grants the ability to delete a section of video from existing recordings. This creates a new video without the redacted session and does not affect the original video. X

↑ back to Users & Groups


Upload

Allows users to upload videos to the VALT software, files must be MP4/MOV.

Permission Description Group User
↓ Upload Grants users access to the upload section. X
Sharing Grants the ability to change the permissions on an individual video. This can be used to grant access to the video to users who could not normally see that video. It cannot be used to restrict access to a video from a user who would normally have access. X
Change Author Grants the ability to change the author of the uploaded video. X
Retention Grants the ability to change the retention from the author defaults. X

↑ back to Users & Groups


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.

Permission Description Group User
↓ Schedule Grants users access to the schedule section. X
View All Authors Grants the ability for a user to view the schedules created by other users. X
Add Grants the ability to create both one time and recurring schedules. X
Exceptions Grants the ability to create an exception, such as Christmas day, where recurring schedules will not occur. X
↓ Edit Grants the ability to edit existing schedules. X
All Authors Grants the ability for a user to edit the schedules created by other users. X
Delete Grants the ability to delete existing schedules. X
Sharing Grants the ability to change the permissions on all videos created by a particular schedule. This can be used to grant access to the video to users who could not normally see that video. It cannot be used to restrict access to a video from a user who would normally have access. X
Change Author Grants the ability for a user to change the author of a schedule. This will also affect the author of the recordings the schedule generate. X
Retention Grants the ability adjust the retention period on all videos created by a particular schedule. X
Control Grants the ability to configure a preset for PTZ cameras when setting up a schedule. This allows a user to force the camera to change to a predesignated position when the recording starts. X

↑ back to Users & Groups


Reports

These settings allows the users to generate simple statistical reports about usage of the VALT system.

Permission Description Group User
↓ Reports Grants users access to the resports section. X
Add Report Grants the ability to generate new reports. X
Edit Report Grants the ability to change the author of the uploaded video. X
Delete Report Grants the ability to change the retention from the author defaults. X

↑ back to Users & Groups


Admin

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

Permission Description Group User
↓ Admin Grants users access to the Admin tab. X
↓ General Grants user access to General section within Admin. X
Software Information Grants access to the software information which includes software version, software type, number of device licenses and a link to database management. X
Email Settings Grants access to email configuration settings. X
Media Servers Grants access to media server list, this displays storage remaining and has a link to media server management portal. X
Customization Grants access to customization section, this allows someone to customize the images and links associated with the login page. X
↓ Users & Groups Grants the ability for the user to administer users and groups and give access rights. X
↓ LDAP Grants to the LDAP section. X
User Import Grants access to search and add users on a per user basis. X
Servers Grants access to view and configure LDAP servers within the system. X
Sync Schedules Grants access to view and configure automatic LDAP sync schedules. X
SSO Grants the ability for the user to setup SAML SSO. X
Templates Grants the ability for a user to configure marker and information templates. X
Rooms & Cameras Grants the ability to add, modify or change rooms or cameras. X
Media Servers Grants the ability to add, modify or change media servers. X
Node Servers Grants the ability to add, modify or change node servers. X
Transcription Grants the ability to add, modify or change transcription service. X
Logs Grants the ability for the user to view logs from the system. X

↑ back to Users & Groups


Group and User Level

Permission / Setting Description Group User
Rooms Specify what room(s) may be viewed for live observation. X X
Video Access Specify whose videos may be viewed in video playback. X X
Default Retention Rule Specify how long videos are retained in VALT by days, hours, minutes, or until a specified date, or keep videos for forever. X
I/O Record Name Set the default recording name used for recordings initiated using the start/stop button accessory. X
Max Record Duration Set the maximum duration a recording may last in minutes as a failsafe if a user forgets to stop recording. X
Schedule View Set the Schedule page default to display scheduled recordings in a calendar view or a list view. X
Reports View Set the Reports page default to display reports in a thumbnail view or a list view. X
Search Results View Set the Review page default to display videos in a thumbnail view or a list view. X
Search Results Display Columns Specify which sortable column headings appear in the Review section of VALT X
Filters Grants access to and shares filters created by one user to other users in the user group. X
Views Grants access to and shares views created by one user to other users in the user group. X
Restricted Access Restrict access to VALT by day of week and time period(s) (00:00 – 00:00). X X
Expiration Date Automatically disable access to VALT on a specific date. X X
Review List Period Set the default number of days-worth of recordings displayed in the Review section of VALT. X
Email Specify user email address for email reports. X
Mobile PIN Set a user’s pin number used to sign in to the BEAM application. X
Card Number Set the user’s RFID card number, so when they use their card to initiate a recording it identifies them as the author. X
SSO/SAML IDP Specify which IdP a user is authenticating to and pulling attributes from. X
Display Name Specify how the user’s name appears in VALT. May be different than their user ID. X
Control Type Set the default control type, compass or point and click, for Pan-Tilt-Zoom camera control in VALT. X

⇧ Back to Top

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