Overview
This document explains the end-to-end deployment process for deploying VIDIZMO in an on-premise environment.
Scope
The process explained in this document outlines steps for deploying VIDIZMO. Below is the scope of this document:
- Deploy VIDIZMO databases (SQL Server)
- Deploy VIDIZMO web application and content processing servers
- License activation – Product package license activation for VIDIZMO
- Post deployment configuration
Infrastructure
This section provides details about network infrastructure requirements for setting up VIDIZMO in standalone County environment.
Resource requirements
The following azure resources will need to be added to the standalone environment:
- Local Network: A local area network with sufficient resources to host VIDIZMO servers.
- Web Application Server: A physical machine or VM that meets hardware and software requirements to host VIDIZMO web application server.
- Content Processing Server: A physical machine or VM that meets hardware and software requirements to host VIDIZMO content processing service.
- Database Server (For Databases): A physical machine or VM that meets hardware and software requirements to host VIDIZMO databases.
- Storage Provider: A local or network storage device or storage appliance will be needed to store content.
Note: If needed, a single machine can be used to host both VIDIZMO web application and content processing services.
Configuration Requirements
The list below outlines requirements for the configuration that you will process later in the deployment phase.
- Domain name(s): DNS mapped to Web Application: Domain name entry(ies) mapped to IP address (multiple entries if you want to have separate domains for each portal).
- SSL/TLS Certificate for the Domain Name(s): SSL Certificate installed on the Web Server covering all the domains that will be used by VIDIZMO Web Application.
- SMTP Configuration: To let application send out emails during various steps. This is needed for adding users and completing user registrations in VIDIZMO application.
- Administrative Access: A user account with administrator privileges on all VIDIZMO systems.
Pre-Deployment Phase
The pre-deployment phase is about necessary preparation steps that would need to be completed prior to deploy VIDIZMO databases, web app and content processing systems.
Install prerequisites
This section provides information about prerequisite software which would need to be installed on web application and content processing systems.
Note: All VIDIZMO server machines/VMs require separate license activation. Please use server machines/VMs for hosting VIDIZMO services according to the number of licenses you have purchased. E.g. if you have only one VIDIZMO license for activation you should host web app and content processing service on one server machine/VM. The database server does not require VIDIZMO license activation.
Web Application Server
Download and install the following software on VIDIZMO web application server system.
Note: You would need to Unblock your downloaded executable files (.exe) prior to start installation. Right click the downloaded file > click properties > and check the box that says “Unblock”. Click Apply and Ok to confirm changes and close the properties dialog box.
- 7zip (Download here: https://www.7-zip.org/a/7z1900-x64.exe)
- .NET Framework 4.8 (Download here: https://go.microsoft.com/fwlink/?LinkId=2085155)
- .NET Core 2.2.8 (Download here: https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-2.2.8-windows-hosting-bundle-installer)
Note: .NET Framework requires restart, please make sure to restart server before moving forward
Content Processing Server
Download and install the following software on VIDIZMO content processing server system.
Note: You would need to Unblock your downloaded executable files (.exe) prior to start installation. Right click the downloaded file > click properties > and check the box that says “Unblock”. Click Apply and Ok to confirm changes and close the properties dialog box.
- 7zip (Download here: https://www.7-zip.org/a/7z1900-x64.exe)
- .NET Framework 4.8 (Download here: https://go.microsoft.com/fwlink/?LinkId=2085155)
- Python latest version (Download here: https://www.python.org/ftp/python/3.9.5/python-3.9.5-amd64.exe)
Note: .NET Framework requires restart, please make sure to restart server before moving forward.
Download VIDIZMO application and database files
You would need to download and extract VIDIZMO application and database files. Below listed files will be available to you from the download link provided by VIDIZMO support team:
- VIDIZMO.zip
- DB_Backups.zip
Note: You should turn off IE Enhanced Security and change Time Zone in Server Manager > Local Server before downloading application and database files.
Note: Additionally, you may download and install Google Chrome web browser for better web browsing and downloading experience.
Note: Once you download VIDIZMO app and database zip files, please make sure to Unblock the downloaded zip files before you extract. Right click the downloaded zip file > click properties > and check the box that says “Unblock”.
Click Apply and Ok to confirm changes and close the properties dialog box.
Install SQL Server
Install SQL Server on a dedicated physical machine or VM with following features to setup your VIDIZMO database server system.
- Database Engine Services
- Full-Text and Semantic Extractions for Search
- SQL Client Connectivity SDK
- Authentication: Mixed-Mode
Note: Create a SQL admin user account. This account will be used to connect application to VIDIZMO databases. This user account would need db_owner permissions on VIDIZMO databases.
Note: Configure SQL database backups to protect your VIDIZMO databases.
- Download and install SSMS (SQL Server Management Studio)
- You would need to install SQL Server Management Studio before you can deploy VIDIZMO databases in SQL Server.
- Download and install SSMS (SQL Server Management Studio), navigate to: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&view=sql-server-ver15 for downloading SSMS (SQL Server Management Studio).
Note: You may need to reboot the system after installing SSMS (SQL Server Management Studio).
Restore VIDIZMO Databases in SQL Server
Use your SSMS to restore VIDIZMO databases. Open SSMS and use the downloaded database backup files that you extracted in previous section to restore VIDIZMO databases.
Enable Windows Firewall exceptions
Below windows firewall exceptions would need to be enabled on the network. Please make sure to enable these firewall exceptions in windows firewall on the web application server system.
# | Description | Service | Port # | Protocol | Source | Destination | Direction | Action |
1 | Web | HTTP | 80 | TCP | Any | Application Server | Inbound | Allow |
2 | Web (Secure) | HTTPS | 443 | TCP | Any | Application Server | Inbound | Allow |
3 | Memcache | Memcache | 11211 | TCP | Any | Application Server | Inbound | Allow |
4 | Notifications | SMTP | 25 | Any | Application Server | Any | Outbound | Allow |
5 | License Activation | VLMS | 443 | TCP | Application Server | license.enterprisetube.com | Outbound | Allow |
Deployment Phase
This section outlines deployment steps for deploying VIDIZMO web application and content processing systems.
Deploy VIDIZMO Web Application Server
The application server system is responsible for servicing the front-end web application to end users. Below are the steps to configure VIDIZMO Web Application Server.
Extract Application Files
VIDIZMO team will provide Application files in compressed form (VIDIZMO.zip) that you will need to download and extract in your Application Server. In this example, we are using C: drive as the base location for VIDIZMO application files (C:\VIDIZMO):
- Make sure to Unblock the downloaded zip file before you extract it. Right click the downloaded zip file, click properties from drop down menu to open properties, and check the box that says “Unblock”. Click Apply and Ok to confirm changes and close the properties dialog box.
- Unzip and extract the folder named VIDIZMO.zip at the base location. If you see issues with file extraction, you may use 7zip to extract the files.
- Wait until the extraction is completed.
Install VIDIZMO services
The following are the list of all services that VIDIZMO Application Server uses:
- Caching Service: Used to manage application's Memcache for faster streaming and lower latency.
- Notification Service: Used to ping database for any changes that lead to an email alert generation.
- Scheduler Service: Used to manage various clock-sensitive processes by refreshing the fetched results like analytics, reports, content purge.
Note: Before you start, make sure you have the latest .NET Framework 4.8:
- Open command prompt with administrator rights.
- Execute below command in command prompt to display installed version of .NET Framework.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version
You need to install below services on your application server.
- Vidizmo Caching Service
- Vidizmo Notification Service
- Vidizmo Scheduler Service
Please follow below steps:
Open command prompt and type following commands to install VIDIZMO services.
sc create VIDIZMOCaching binPath=C:\VIDIZMO\Application\Win\MemcachedService\VIDIZMOCaching.exe DisplayName=”VIDIZMO Caching” sc create VIDIZMOScheduler binPath=C:\VIDIZMO\Application\Win\SchedulerService\VIDIZMOScheduler.exe DisplayName=”VIDIZMO Scheduler” sc create VIDIZMONotification binPath=C:\VIDIZMO\Application\Win\NotificationService\VIDIZMONotification.exe DisplayName=”VIDIZMO Notification”
Note: In case of Memcached service, make sure you install VIDIZMOCaching.exe rather than memcached.exe.
Once you have VIDIZMO services installed on the web application server, you would need to change the startup type for VIDIZMO services to “Automatic”. Type below commands to change the startup type of VIDIZMO services to “Automatic”:
sc config VIDIZMOCaching start=auto sc config VIDIZMOScheduler start=auto sc config VIDIZMONotification start=auto
After installing all VIDIZMO services, you need to change additional settings on scheduler service. This would enable the Scheduler Service to restart automatically.
- To do so, right click on VIDIZMOScheduler service and select Properties.
- Go to Recovery tab and set the following recovery settings:
Install Web Server (IIS)
You need to install Internet Information Services (IIS) that acts as the web server to host VIDIZMO web application. Below are the steps to install and configure IIS:
- Click on Windows start menu and then select Server Manager.
- On the Server Manager Dashboard, select Add roles and features.
- In Add roles and features wizard click next.
Select IIS installation type, leave “Role-based or feature-based installation” selected, and then click Next.
Select a server from the server pool and then click next.
From the Select server roles tab, select the checkbox next to Web Server (IIS).
A new window will popup that says, “additional features are required,” simply click the Add Features button to install these as well.
Please make sure the server role “Web Server (IIS)” is selected and then click next.
Select ASP.NET 4.7 as part of the installation.
On the Role Services screen, install the following role services:
- Common HTTP Features
- Default Document
- Directory Browsing
- HTTP Errors
- Static Content
- HTTP Redirection
- Health Diagnostics
- HTTP Logging
- Performance
- Static Content Compression
- Dynamic Content Compression
- Security
- Request Filtering
- Application Development
- ASP.NET 4.7
- .NET Extensibility 4.7
- ISAPI Extensions
- ISAPI Filters
- WebSocket Protocol
- Management Tools
- IIS Management Console
URL Rewrite Module for IIS
Download and install URL Rewrite Module for IIS on the application server. You may use Web Platform Installer to install the URL Rewrite Module. If you wish to directly download URL Rewrite for IIS, click HERE to download.
Note: You would need to restart IIS service (Server Manager > Tools > Services > Restart “W3SVC”) and close/reopen IIS Management console.
Import SSL certificate in IIS
Follow these steps to install an SSL certificate in IIS (Internet Information Services):
First, you need to download and extract the certificate file that you have received from the Certificate Authority. Look for the file with the .pfx extension and save it to your server’s directory.
From your keyboard, press Win +r and type “inetmgr” and click OK to open to the Internet Services (IIS) Manager. You can also launch the IIS manager via Start > Administrative Tools > Internet Information Services (IIS) Manager.
On the left, you will find the Connections section. Select the server and double-click the “Server Certificates” icon from the home page.
On the right, locate the Actions section and select “Import”. This would open the Import dialog.
Select your certificate “under certificate file (.pfx)” box. Click on the dotted button (...) and navigate to the location where you have your certificate and then select certificate file.
Enter the password for your .pf file in the password box. Click OK to confirm changes.
Deploy VIDIZMO Website in IIS
Create a website on your IIS server so that you can successfully browse and use the web application. Here is how you may do it:
Go to Start Menu and type in 'IIS' to launch your Server Manager.
Expand your Server to view pools and sites and expand Sites to view all sites within.
We will not require a default website and to stop servicing the port 80, we shall delete it. Right-click on Default Website and select Remove.
Right-click Sites and select Add Website from the context menu.
In the resulting screen, enter a name for your site such as "VIDIZMO".
By default, an Application Pool of the same name will be created and associated with the site.
Under Content Directory, add the local folder location of the web application as the Physical Path: C:\VIDIZMO\Application\Web
Choose Type as https as per your DNS Settings and the SSL certificate.
Choose IP Address as All Unassigned.
Enter Port number as 443.
Leave Host name as blank to resolve the site on the host name of your server.
Click Ok to create website.
Deploy VIDIZMO Content Processing Server
Content Processing and Encoding are hardware resource-consuming processes and are ideally suited for GPU based machines. A dedicated machine having GPUs, for this purpose improves the performance of the application more efficiently.
Extract Application Files
VIDIZMO team will provide Application files in compressed form (VIDIZMO.zip) that you will need to download and extract in your content processing server. In this example, we are using C: drive as the base location for VIDIZMO application files (C:\VIDIZMO):
- Make sure to Unblock the downloaded zip file before you extract it. Right click the downloaded zip file, click properties from drop down menu to open properties, and check the box that says “Unblock”. Click Apply and Ok to confirm changes and close the properties dialog box.
- Unzip and extract the folder named VIDIZMO.zip at the base location. If you see issues with file extraction, you may use 7zip to extract the files.
- Wait until the extraction is completed.
Install VIDIZMO services
The following are the list of services that the VIDIZMO Content Processing System uses:
Workflow Service: Used to manage various time-consuming processes by breaking them down into activities and managing them separately for better track of progress.
Scheduler Service: Used to manage various clock-sensitive processes by refreshing the fetched results like analytics, reports, content purge. This is a prerequisite to run the system.
Note: The Workflow service requires a “Cache” named folder inside C:\VIDIZMO\. Make sure you create the folder if it is not already in there.
Execute below command in command prompt to display installed version of .NET Framework.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version1
You need to install below services on your content processing server.
- Vidizmo Workflow Service
- Vidizmo Scheduler Service
Open command prompt and type following commands to install VIDIZMO services:
sc create VIDIZMOContentProcessing binPath= C:\VIDIZMO\Application\Win\WorkflowService\VIDIZMOWorkflowEngine.exe DisplayName=”VIDIZMO Content Processing” sc create VIDIZMOScheduler binPath=C:\VIDIZMO\Application\Win\SchedulerService\VIDIZMOScheduler.exe DisplayName=”VIDIZMO Scheduler”
Once you have VIDIZMO services installed on the content processing server, you would need to change the startup type for VIDIZMO services to “Automatic”. Type below commands in command-prompt to change the startup type of VIDIZMO services to “Automatic”:
sc config VIDIZMOContentProcessing start=auto sc config VIDIZMOScheduler start=auto
For Scheduler Service, you need to change additional settings. This would enable the Scheduler Service to restart automatically. To do so, right-click VIDIZMOScheduler service and select Properties.
Go to Recovery tab and set the following recovery settings:
NVIDIA Cuda Toolkit
The NVIDIA® CUDA® Toolkit is needed to support high performance GPU-accelerated applications. CUDA Toolkit supports deployment of your applications on GPU-accelerated embedded systems, desktop workstations, enterprise data centers, cloud-based platforms and HPC supercomputers.
The toolkit includes GPU-accelerated libraries, debugging and optimization tools, a C/C++ compiler, and a runtime library to deploy application on major architectures including x64, x86, Arm and POWER.
Cuda Toolkit version 10.1 is required for deployment of VIDIZMO content processing server. Please use the link below to download and install NVIDIA® CUDA® Toolkit version 10.1: https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_426.00_win10.exe
Note: Please make sure your video processing hardware is GPU enabled prior to install NVIDIA Cuda Toolkit.
Install and configure Python
Python is the prerequisite for setting up the Content Processing Server System. Below are the steps to setup Python. Follow below steps to setup Python.
Download and install Python latest version (https://www.python.org/ftp/python/3.8.4/python-3.8.4-amd64-webinstall.exe).
Unblock the downloaded executable. Right click on the exe file > Select Properties > Check Unblock > Click Apply button and OK to close the dialog.
Open Python installer file as administrator (Run As Administrator).
On Python installation screen, check the box “Add Python 3.8 to PATH” and click on Customize Installation.
On the Optional Features screen, click Next to continue.
On the Advanced Options screen, check the box “Install for all users” and click Install.
Python installation will begin. Wait for the installation process to complete.
Reboot your system for new changes to take effect.
Open command prompt with administrative privileges.
Click Start button > search for CMD > right-click Command Prompt > Click Run As Administrator.
You need to execute below commands in Command Prompt (in step-by-step order).
##Set path for the Workflow Service## setx /M PATH "%PATH%;C:\VIDIZMO\Application\Win\WorkflowService\Configuration\ffmpeg\bin" ##Change current path location to GPS Extractor library to install Python there## cd C:\VIDIZMO\Application\Win\WorkflowService\Configuration\libs\GPSExtractor ##Upgrade pip to the latest version by entering the following command## python -m pip install --upgrade pip
##Install required Python package named 'dateutil' using the following command## pip install python-dateutil
##Install the telemetry-kit which is an open-source package for extracting and parsing telemetry associated with video streams and converting to common formats. It is parsed to extract information within a video related to GPS, time, camera information, speed, etc## pip install open-telemetry-kit
##Install Python requirements – In Command Prompt, change directory to following location## cd "C:\VIDIZMO\Application\Win\WorkflowService\Configuration\VidizmoIndexerPY"
##Execute below in command prompt## pip install -r requirements.txt
##In command prompt, change directory to following location## cd C:\VIDIZMO\Application\Win\WorkflowService\Configuration\VidizmoRedactionPY
##Execute below in command prompt## pip install -r requirements.txt
Enable TLS 1.2 support
Please make sure to enable support for TLS 1.2 on web application and content processing server systems. Follow below steps to enable TLS 1.2 via PowerShell:
- Open PowerShell with administrator rights.
- Execute the following PowerShell commands:
$TLS12Protocol = [System.Net.SecurityProtocolType] 'Ssl3 , Tls12' [System.Net.ServicePointManager]::SecurityProtocol = $TLS12Protocol
Establish Database Connection
This section provides information about creating database connection used by Web Application and Content Processing servers.
Note: This step does not setup or load database in the database server, but is only meant to setup connection information of the databases
Starting from the Web Application Server perform following steps to configure database connection.
Open the database connection tool by navigating to C:\VIDIZMO\Resource\DBConnectionSetup\ DBConnectionSetup.exe. Please see below:
Select ‘VIDZIMO Application Database’ under ‘Connection’. This is to configure VIDIZMO’s main database used to service the application and all components.
Enter Server Name FQDN or IP address of the Database server where you have database restored already and Provide Credentials.
Click on the drop down to see the list of Databases Available to choose from. If databases don’t show up, then there’s some problem with the connection.
Now repeat the process for ‘VIDIZMO Notification Database’ and select the appropriate database.
Once both the databases have been setup, repeat the steps above on Content Processing Server.
Select ‘Link’ under ‘Connection’ and add https://license.enterprisetube.com in the blank field. Save Changes.
Select ‘Vidizmo Web’ under ‘Connection’ and add following path under ‘Value’: ‘C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll’. Save changes.
See below pictorial guide for reference:
Step-1 (below):
Step-2 (below):
Step-3 (below):
Step-4 (below):
Post Deployment Phase
Below tasks would need to be completed in the post deployment phase.
VIDIZMO license activation
In this section, we explain the process of license activation for both Application and Content Processing server systems:
Note: Once the web application and content processing systems are deployed, you navigate to your VIDIZMO portal website and it will display the license activation page. Here you would need the license activation key or license file for activation of your VIDIZMO software.
Follow below steps to complete license activation on both web application and content processing server systems:
Note: You should follow below steps in sequence (chronological order).
Open web browser and navigate to “localhost”. You will automatically land on the software activation webpage.
VIDIZMO team shall provide the License Keys needed to activate the web application and content processing systems.
Activate your web application by entering the License Key or uploading the License file provided to you by the VIDIZMO team:
- Enter license key or provide the license file to activate web application. You will see “License Activated Successfully” after a successful activation.
- Restart “VIDIZMO Scheduler” service on the content processing server (Server Manager > Tools > Services > VIDIZMO Scheduler > right-click and select restart from drop-down menu).
- Open “localhost” in your web browser and sign-in on your VIDIZMO portal website.
- Click navigation menu and go to Control Panel > Dashboards and click the edit button next to on your content processing server hostname which should be in pending state (Not Activated state).
- Enter your license key or provide the license file to activate the content processing server.
Note: All VIDIZMO server machines/VMs require separate license activation. Please use server machines/VMs for hosting VIDIZMO services according to the number of licenses you have purchased. E.g. if you have only one VIDIZMO license for activation you should host web app and content processing service on one server machine/VM. The database server does not require VIDIZMO license activation.
Update Cache Servers List
Once the license activation is completed, open your portal website, and sign-in with your admin user account. When you are logged in, please follow below steps:
Click on navigation menu and then go to Control Panel > Application Configuration > Cache.
You will need to update the local (private) IP Address of the web application server in the Server List. Below is the example the screenshot.
VIDIZMO DNS Domain Configuration
VIDIZMO web application would need DNS Domain configuration to service its web URLs. You would need to configure official domain as per your organization domain name and tenant sub-domain URLs.
Official Domain
Defines the main domain of the VIDIZMO application under which all the portals domain will be configured. For example, if the domain defined here is abc.com, then the portal can be created using portal1.abc.com and so on.
On your portal website, click navigation menu > control panel > application configuration > domains and URLs > Official Domain.
Enter your organization domain name here and click Update.
Note: The web browser session is based on your DNS domain name. The DNS domain name should be valid and reachable to store valid session information in web browser.
Tenant Sub-domain URL
From the Portal's Homepage login using an Administrator or Manager rights on your Account:
Click on the menu icon on the top left-hand corner of the screen to bring up the left navigation pane.
Then click on the down arrow to expand the Admin section.
Select the Settings to open the Portal Settings navigation panel.
From the Portal Settings pane:
- Click on the Branding tab to expand its options.
- Then click on the Domain for Domain Selection.
- Select Subdomain as your domain option.
- Enter the name of a Subdomain and Check Availability.
- If the Subdomain available. Click on the Update button to save changes.
Note: A notification will be displayed stating: Portal details have been updated successfully.
Once done, the changes will be reflected in the Portal's URL.
Content Processing Cache Path
During processing of content, VIDIZMO Content Processing service uses disks to temporarily store content and run various processing on the content such as Transcoding, Thumbnail Generation, KLV Data extraction, AI Processing etc. All of these processes have high Disk I/O requirements. Having a disk with low I/O throughput or a disk that’s being shared b/w multiple processes can severely impact the processing speed.
To avoid this a common practice is to keep this processing on a separate physical Disk with higher throughput. To make this change:
- Create a folder on the disk that you want to use for Processing. Make sure the ‘VIDIZMO Content Processing Service’ has read/write rights for the folder
- Copy the path of this folder
- Now go to ‘Application Configuration’ > ‘Document Processing’ and set the copied Path in ‘Content Processing Log Path’ field. The path must end at ‘\’
- Click ‘Update’ button right next to the field and let the services restart themselves
- Upload content to see if content is processing without any errors
Note: The path specified for Content Processing Cache (Log Path) must exist on both application and content processing systems.
Knowledgebase reference
For additional information related to setup and configuration, please see below knowledgebase articles:
Storage Provider Configuration
Please see below VIDIZMO knowledge base article for setting up Storage Provider: https://help.vidizmo.com/support/solutions/articles/17000084212-how-to-configure-vidizmo-storage-with-vidizmo-on-premise-encoder#
SMTP Email
Please see below VIDIZMO knowledge base article for setting up SMTP Email: https://help.vidizmo.com/support/solutions/articles/17000083055-how-to-configure-smtp-settings-for-sending-emails
Portal Security Policy
Please see below VIDIZMO knowledge base article for configuring portal security policy: https://help.vidizmo.com/support/solutions/articles/17000076139-understanding-portal-s-security
Test Cases – Basic Functionality
Below are the test cases that would help verify basic functionality on the portal.
--End of Document--