Difference between revisions of "VALT Technical Specifications"
IVSWikiBlue (talk | contribs) (Replaced content with "{{VALT Technical Specifications}}") |
IVSWikiBlue (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{VALT | + | <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> |
+ | |||
+ | __TOC__ | ||
+ | |||
+ | {{Section | title = <h1>Software Overview</h1> | content = | ||
+ | <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> | ||
+ | |||
+ | <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> | ||
+ | }} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Server Side Software Architecture}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Client Side Software Architecture}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Hardware Requirements | title = <h1>Hardware Requirements</h1>}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Solution Architecture Overview}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Network Architecture}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Bandwidth & Storage}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Authentication Methods}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{VALT 5.6 Permissions - Specifications}} | ||
+ | |||
+ | {{Top of Page}} | ||
+ | |||
+ | {{Backups | title = <h1>Software Backups & Maintenance</h1>}} | ||
+ | |||
+ | {{Top of Page}} |
Latest revision as of 10:08, 17 May 2023
Contents
- 1 Software Overview
- 2 Server Side Software Architecture
- 3 Client Side Software Architecture
- 4 Supported Browsers
- 5 Hardware Requirements
- 6 Solution Architecture Overview
- 7 Network Architecture
- 8 Bandwidth & Storage
- 9 Authentication Methods
- 10 Users & Groups
- 11 Software Backups & Maintenance
- 12 VALT 5.7 and VALT 6
- 13 VALT 5.6 and Older
- 14 How to Find Your VALT Version
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.
Server Side Software Architecture
- 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.
Single Server
From a physical or virtual server perspective the entire server side software stack can be run on a single server.
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.
Client Side Software Architecture
VALT is a web-based application.
The client software consists of two primary components.
- Client Software
- Server Software
Supported Browsers
Desktop Browsers
Icon | Browser | Tested Version | Recommended 1-5 |
---|---|---|---|
Chrome | Latest Available | 5 | |
Microsoft Edge | Latest Available | 4 | |
Firefox | Latest Available | 3 | |
Safari | Latest Available | 2 |
Android & iOS
Icon | Browser | Tested Version | Recommended 1-5 |
---|---|---|---|
Chrome | Latest Available | 5 |
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
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
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.
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.
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.
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.
Bandwidth & Storage
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 |
Authentication Methods
Local Authentication
Local accounts are created and assigned to groups within VALT. Local accounts can be created manually or imported from a list.
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.
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.
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.
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.
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.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 | |
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 |
Software Backups & Maintenance
✎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.
- Click on the Admin section on your VALT server.
- Navigate to the General tab.
- At the top of the screen you should see the version number your VALT server is running next to Software Version.