Skip to content
English - United States
  • There are no suggestions because the search field is empty.

Prerequisites for VIDIZMO Application

This documentation outlines the prerequisites for deploying the VIDIZMO application in enterprise environments.

Applies To

  • On-premises
  • Microsoft Azure
  • AWS
  • Private Cloud Environments

Deployment Overview

For a detailed understanding of VIDIZMO's architecture and how components interact, refer to the Design and Architecture Overview.

Server Requirements

The following servers are required for a VIDIZMO on-premises deployment:

Server
Purpose
Database Server
SQL Server for metadata and application data storage
Application Server
Web application, APIs, and user interface
Encoding Server
Video processing, transcoding, and media workflows
Caching & Broker Server
Memcached caching, ZooKeeper service discovery, and message broker
AI Server
AI-powered video analysis and transcription
Streaming Server (WOWZA)
Required only for live streaming capabilities

Deployment Order

Deploy VIDIZMO servers in the following sequence:

  1. Database Server - Set up SQL Server first as other components depend on it
  2. Caching & Broker Server - Install Memcached, ZooKeeper, and RabbitMQ
  3. Application Server - Deploy the web application and APIs
  4. Encoding Server - Set up video processing services
  5. AI Server (Optional) - Configure AI services for features such as computer vision, audio and video insights, OCR and transcription
  6. Streaming Server (Optional) - Set up WOWZA for live streaming capabilities

General Hardware and Software Requirements

The following requirements apply to all VIDIZMO servers.

Compute

  • 64-bit Intel or AMD processors
  • Multi-core CPUs required for optimal performance
  • CPU sizing should scale based on:
    • Number of concurrent users
    • Upload and encoding volume
    • AI processing workload

Storage

  • SSD or NVMe disks required for all servers (traditional HDDs are not recommended)
  • Storage throughput directly affects:
    • Video ingestion
    • Encoding performance
    • AI processing
    • Content delivery

Network

  • 10 Gbps network connectivity is recommended for all VIDIZMO servers
  • Low-latency network communication is critical for:
    • Distributed services
    • Encoding workflows
    • AI processing
    • Shared or cloud-based content storage

Operating Systems

Component
Supported OS
Database Server
Windows Server 2022 (Standard, Enterprise, Datacenter)
Application Server
Windows Server 2022 (Standard, Enterprise, Datacenter)
Encoding Server
Windows Server 2022 (Standard, Enterprise, Datacenter)
Caching & Broker Server
Windows Server 2022 (Standard, Enterprise, Datacenter)
AI Server
Windows Server 2022, or Linux (Ubuntu LTS, RHEL)

Microsoft .NET

  • .NET Framework: Version 4.8
  • .NET Runtime / Hosting Bundle: Version 8 or later

Web Server

  • Internet Information Services (IIS) 10 or later
  • URL Rewrite Module 2.1 must be installed

Scripting and Runtime Dependencies

  • Python: Version 3.9.13 (required for Encoding and AI services)
  • Container Runtime: Docker (required for Linux AI server deployments)

Time, Security, and Access

  • All servers should be time-synchronized (NTP)
  • Configure antivirus exclusions for VIDIZMO directories
  • Administrative access is required during installation and configuration

Server Specifications

This section defines the minimum and recommended hardware and software requirements for each VIDIZMO server role.

Database Server

Minimum Hardware

  • CPU: 8 cores
  • RAM: 32 GB
  • Network: 10 Gbps

Minimum Storage

  • OS Disk: 150 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 256 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • CPU: 12 cores
  • RAM: 64 GB
  • Network: 10 Gbps
  • OS Disk: 300 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 500 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)

Software Requirements

  • Operating System: Windows Server 2019 or 2022 (Standard, Enterprise, Datacenter)
  • Microsoft .NET Framework: Version 4.8
  • SQL Server 2022 (Developer or Enterprise Edition) with the following features:
    • Database Engine Services
    • Full-Text Search and Semantic Extractions
    • SQL Client Connectivity SDK
  • Enable Mixed Mode Authentication (SQL Authentication)
  • SQL user account with DB owner permissions on VIDIZMO databases
  • SQL Server Management Studio (latest version)

Application Server

Minimum Hardware

  • CPU: 4 cores
  • RAM: 16 GB
  • Network: 10 Gbps

Minimum Storage

  • OS Disk: 150 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • CPU: 8 cores
  • RAM: 32 GB
  • Network: 10 Gbps
  • OS Disk: 150 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)

Software Requirements

  • Operating System: Windows Server 2019 or 2022 (Standard, Enterprise, Datacenter)
  • Microsoft .NET Framework: 4.8
  • .NET Core Hosting Bundle: Version 8 or later
  • Internet Information Services (IIS): Version 10 or later
  • URL Rewrite Module: Version 2.1

Encoding Server

Minimum Hardware

  • CPU: 8 cores
  • RAM: 32 GB
  • Network: 10 Gbps

Minimum Storage

  • OS Disk: 150 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • CPU: 16 cores
  • RAM: 64 GB
  • Network: 10 Gbps
  • OS Disk: 150 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)

Optional Hardware

  • GPU: NVIDIA GPU with NVENC encoder support (recommended for improved video encoding performance and faster processing times)

Software Requirements

  • Operating System: Windows Server 2019 or 2022 (Standard, Enterprise, Datacenter)
  • Microsoft .NET Framework: 4.8
  • .NET Core Hosting Bundle: Version 8 or later
  • Python: Version 3.9.13

VIDIZMO AI Server (Optional)

Minimum Hardware

  • CPU: 4 cores
  • RAM: 16 GB
  • GPU: NVIDIA RTX / Tesla / A series with NVENC and CUDA support
  • Network: 10 Gbps

Minimum Storage

  • OS Disk: 256 GB SSD (>200 MB/s throughput) or NVMe SSD (>500 MB/s throughput)
  • CPU: 8 cores
  • RAM: 32 GB or more
  • GPU: NVIDIA RTX / Tesla / A series with NVENC and CUDA support
  • Network: 10 Gbps
  • OS Disk: 256 GB SSD (>200 MB/s throughput) or NVMe SSD (>500 MB/s throughput)

Software Requirements (Windows)

  • Operating System: Windows Server 2019 or 2022 (Standard, Enterprise, Datacenter)
  • Microsoft .NET Framework: Version 4.8
  • .NET Core Hosting Bundle: Version 8 or later
  • Python: Version 3.9.13

Software Requirements (Linux)

  • Operating System: Linux with Docker support (Ubuntu LTS, RHEL recommended)
  • Container Runtime: Docker
  • NVIDIA Container Toolkit
  • NVIDIA GPU Drivers

Caching and Broker Server

Minimum Hardware

  • CPU: 2 cores
  • RAM: 8 GB
  • Network: 10 Gbps

Minimum Storage

  • OS Disk: 60 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • CPU: 4 cores
  • RAM: 16 GB
  • Network: 10 Gbps
  • OS Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)
  • Data Disk: 100 GB SSD (>500 MB/s throughput) or NVMe SSD (>1000 MB/s throughput)

Software Requirements

  • Operating System: Windows Server 2019 or 2022 (Standard, Enterprise, Datacenter)
  • Microsoft .NET Framework: 4.8
  • .NET Core Hosting Bundle: Version 8 or later
  • Oracle JDK 17 (required for ZooKeeper)
  • NSSM (Non-Sucking Service Manager) for ZooKeeper and Broker services

Streaming Server Requirements (Optional)

This section outlines the system requirements and specifications for the WOWZA Live Streaming Server. This server is only required if live streaming capabilities are needed.

  • CPU: Single quad-core, 3.00 GHz or better
  • RAM: 4 GB
  • Disk: 2 or more disks in RAID 0 (striping)
  • Network: 1 Gbps Ethernet
  • CPU: Dual quad-core or a single hex-core, 3.00 GHz or better
  • RAM: 16-32 GB
  • Disk: 2 or more disks in RAID 0 (striping)
  • Network: 10 Gbps Ethernet

Supported Operating Systems

  • Windows
  • Linux
  • Mac®

Java Installation

WOWZA Streaming Engine version 4.7.8 and later requires OpenJDK Java SE JRE 9.0.4 at a minimum but supports up to Java version 12. Earlier versions of Java aren't supported.

For detailed information about supported Java versions, refer to WOWZA documentation.

Note for Server Admin: VIDIZMO needs server systems to host the web application, content processing, and databases. The application components can be distributed across multiple server systems to achieve redundancy and ensure high availability. Both physical systems and Virtual Machines (VMs) are supported for the VIDIZMO application deployment.

Administrator Requirement: System Administrators are required to have Elevated Access Permissions on Virtual Machines (VMs) and servers to facilitate the successful deployment, configuration, and management of the VIDIZMO application. It is imperative that dedicated user accounts with elevated access permissions be granted on all VMs and servers where VIDIZMO will be installed.

Broker and Service Discovery Components

VIDIZMO is built on a distributed, event-driven architecture where multiple services operate independently and communicate asynchronously. To support this design, VIDIZMO relies on dedicated components for message brokering and service discovery.

Message Broker

The message broker is responsible for handling asynchronous communication between VIDIZMO services. It decouples producers and consumers, allowing services to scale independently and process workloads reliably.

Recommended Broker:

  • RabbitMQ is recommended for on-premises deployments due to simpler setup and lower resource requirements.

Deployment Considerations:

  • The broker can be deployed on a dedicated server or shared with other non-resource-intensive components for smaller deployments.
  • For high-throughput or large-scale environments, a dedicated broker server is strongly recommended.
  • Broker sizing should account for event volume, peak concurrency, and retention requirements.
  • High availability can be achieved using broker-specific clustering or replication mechanisms.

The following broker service options are available:

  • Azure Service Bus

Azure Service Bus is a cloud-based broker service provided by Microsoft, utilizing AMQP to transmit messages reliably between services.

Port description
Default port
Source
Destination
Direction
Azure Service Bus - AMQP
5671-5672
Application & Encoder servers
Broker Server
Inbound

  • Apache Kafka

Apache Kafka is a distributed event streaming platform designed to handle real-time data feeds. VIDIZMO supports Kafka for high-throughput message streaming between applications and services.

Port description
Default port
Source
Destination
Direction
Kafka client-server connection
9092-9094
VIDIZMO App and Encoder servers
Kafka server
Inbound
Kafka ZooKeeper
2181-2188
VIDIZMO App and Encoder servers
Kafka server
Inbound

  • RabbitMQ

RabbitMQ is an on-premises broker service option for message handling within VIDIZMO.

Port description
Default port
Source
Destination
Direction
RabbitMQ client-server connection
5672
VIDIZMO App and Encoder servers
RabbitMQ server
Inbound
RabbitMQ management
15672
VIDIZMO App and Encoder servers
RabbitMQ server
Inbound

  • DAPR

DAPR is not a traditional broker service but offers features for messaging and communication between microservices.

Memcached (Caching Service)

Memcached provides in-memory caching for improved application performance by reducing database load.

Important: Memcached is a required component and is installed as a Windows service on the Caching & Broker Server.

  • Default Port: 11211
  • Source: Application and Encoder servers
  • Destination: Memcached service

Service Discovery (ZooKeeper)

VIDIZMO uses Apache ZooKeeper for service discovery and coordination across distributed platform components.

Important: ZooKeeper is required for ALL VIDIZMO deployments regardless of which message broker you choose. It is essential for service discovery and coordination between VIDIZMO components.

ZooKeeper Functions:

  • Register and discover active services dynamically
  • Coordinate communication between AI services, Encoding services, and other microservices
  • Maintain service state and availability information
  • Support failover and resilience in multi-node deployments

Deployment Considerations:

  • ZooKeeper is typically deployed on the Caching & Broker Server along with Memcached and the message broker.
  • For high availability, ZooKeeper should be deployed as a cluster with an odd number of nodes (e.g., 3 or 5 nodes).
  • Stable network connectivity and low latency between ZooKeeper and VIDIZMO services are essential for reliable operation.

Requirements:

  • Oracle JDK 17
  • NSSM (Non-Sucking Service Manager) for Windows service management

Network Configuration

To achieve a successful VIDIZMO deployment, it is essential to meet specific network configurations and port requirements. VIDIZMO's vital components must establish communication amongst themselves, primarily utilizing Fully Qualified Domain Names (FQDNs). This FQDN-based approach is favored due to its dynamic adaptability, as FQDNs can seamlessly resolve to different IPs. Furthermore, it's advisable to enable firewall port exceptions to facilitate uninterrupted communication, ensuring robust and flexible deployment.

Firewall Rules and Exceptions (Network Ports)

Enable the following firewall port exceptions on the network and Windows firewall for web application server, content processing, and database server systems.

Core Application Ports

#
Port Description
Port
Source
Destination
Direction
1
HTTP/HTTPS
80/443
Any
Application Server
Inbound
2
Memcached
11211
Application & Encoder servers
Memcached Server
Inbound
3
ZooKeeper
2181
Application, Encoder, and AI servers
ZooKeeper Server
Inbound
4
AMQP
5671-5672
Application & Encoder servers
Broker Server
Inbound
5
File Sharing (SMB)
445
Application, Encoder, and AI servers
File Server
Inbound
6
SQL Port
1433
Application & Encoder servers
Database Server
Inbound
7
SMTP (Notification)
25 (configurable)
Application Server
SMTP Server
Outbound
8
License Activation
443
Application & Encoder servers
license.vidizmo.com
Outbound

AI Service Communication Ports

The following ports are used for communication between application components and AI services:

#
Service
Port
Source
Destination
Direction
1
Vision Service
65454
Application & Encoder servers
AI Server
Inbound
2
PII Processor Service
65471
Application & Encoder servers
AI Server
Inbound
3
Transcription Service
65472
Application & Encoder servers
AI Server
Inbound
4
Generative AI Service
65473
Application & Encoder servers
AI Server
Inbound
5
Visual Generative AI Service
65474
Application & Encoder servers
AI Server
Inbound

Note:

  • Ports 5671-5672 apply to RabbitMQ and Azure Service Bus.
  • Apache Kafka may require additional ports (9092-9094) depending on deployment and clustering configuration.

Important:

  • All VIDIZMO servers must have outbound access to license.vidizmo.com for license activation and periodic verification.
  • Network latency and bandwidth directly affect media ingestion, playback, encoding, AI processing, and inter-service communication.
  • For secure environments, restrict inbound access to trusted sources wherever possible.

Web Application Firewall (WAF)

As a prerequisite for implementing a Web Application Firewall (WAF), it is essential to configure it to allow necessary traffic into VIDIZMO. This involves creating custom rules or policies to whitelist required traffic. During this configuration, it may be necessary to turn off specific rules. In particular, when making policy settings in WAFV2, ensure that the "inspect request body" policy is turned off. This is crucial for applications like VIDIZMO that involve uploading large files, as leaving this feature open might prompt restrictions on the maximum file upload size.

Additionally, as WAFs typically adhere to OWASP policies, it is advised to disable the rule "URL file extension is restricted by Policy." Failure to disable this rule may restrict uploading and downloading files in VIDIZMO. Therefore, adjusting this setting is imperative for the seamless operation of the application within the WAF framework.

Content Storage Options

VIDIZMO supports multiple content storage backends to accommodate different deployment models, scalability needs, and performance requirements.

Local File System

Content can be stored on local disks or network file shares accessible by Application, Encoding, and AI servers.

Prerequisites:

  • Users must have valid accounts and necessary permissions to read and write files within the specified file share.
  • Ensure that the network infrastructure has SMB protocol support enabled.
  • VIDIZMO supports SMB 2.0 or SMB 3.0 for improved performance and security.
  • Users must have access to the Universal Naming Convention (UNC) path: \\\\server name\\file share name

Considerations:

  • Limited scalability compared to shared or object storage.
  • Requires manual planning for capacity growth and redundancy.
  • Network throughput and latency directly impact upload, playback, and encoding performance.

Azure Blob Storage

VIDIZMO can integrate with Microsoft Azure Blob Storage for scalable and durable object storage.

Prerequisites:

  • Ensure you have a dedicated non-Multi-Factor Authentication (MFA) user account with "Contributor" level access on the Azure Subscription.

Considerations:

  • Requires outbound connectivity to Azure.
  • Storage access credentials must be securely configured.
  • Performance depends on network bandwidth and proximity to Azure regions.
  • Azure storage costs apply based on usage (storage, transactions, egress).

AWS Storage

VIDIZMO supports Amazon Simple Storage Service (S3) as a content storage backend.

Prerequisites:

  • Ensure you have an AWS Access Key and Secret Key associated with the AWS Identity and Access Management (IAM) user or role responsible for managing the storage solution.
  • Define bucket-level policies to control who can access and perform actions on the S3 bucket.
  • Attach IAM policies to IAM users or roles for precise control over their actions within the S3 bucket.

Considerations:

  • Requires outbound connectivity to AWS.
  • IAM credentials and bucket policies must be properly configured.
  • Performance is dependent on network bandwidth and AWS region selection.
  • AWS storage and data transfer costs apply.

WOWZA Media Server

A specialized media server solution for streaming content.

Prerequisites:

  • Ensure you have a playback URL from your WOWZA Player that will serve as the Provider URL.
  • The Streaming Provider URL is essential for WOWZA to identify the source of your media content.
  • Determine and specify the storage path where your media assets will be stored.

General Storage Considerations

  • Content storage should be accessible to Application, Encoding, and AI servers as required.
  • Storage performance (IOPS, throughput, and latency) directly affects upload/ingestion speed, video playback performance, and encoding/AI processing times.
  • Backup and disaster recovery strategies should be planned according to the selected storage type.
  • For high availability deployments, shared or object storage options are strongly recommended.

Ensure that an appropriate storage option is ready and configured for each portal. You can utilize the Setup Wizard, which streamlines the provisioning of the required storage accounts.

Domain Setup Prerequisites

Domain Name and IP Address Configuration

  • Domain Setup for Web Application: Ensure the web application has a designated domain (FQDN) for proper functionality. Determine and configure a domain name that will serve as the access point for the media portal.
  • Domain Mapping: To ensure accessibility, map domain name(s) to the IP address of the Web Application server. If multiple domains are used, provide separate entries for each.
  • IP Address Mapping: Assign an IP address to the Web Application server and configure DNS accordingly for seamless domain resolution.
  • Domain Name for Your Media Portal: Define a user-friendly domain name for accessing the media portal. The domain name serves as the user-accessible address for your media portal. It is essential for user interaction and content access. Configure this domain name to map to a public IP address for external accessibility or a private IP address for internal access based on intended portal configurations. For detailed instructions on configuring VIDIZMO with a custom domain, please refer to the "How to Set a Custom Domain for a Portal" section.

Licensing and Activation

  • License Activation Key for VIDIZMO Application: Before initiating a fresh deployment, it is essential to obtain a new License Activation Key for the latest version of the application. This License Activation Key is vital for users to start utilizing VIDIZMO as their chosen digital content management solution.
  • When performing an upgrade to a new version of VIDIZMO, it is essential to note that the new License Activation Key will require the truncation of the "ServerLicense" table within the "VidizmoDB" database. This step is essential to remove any existing licenses and must be carried out prior to adding the new license. This process ensures a seamless and successful activation of the updated version by clearing the database of previous licenses. To learn more about it, refer to the article "How to View and Update VIDIZMO License."

Security Configuration

  • SSL Certificate: A customer-provided SSL/TLS certificate is required to enable secure communication (HTTPS) between users and VIDIZMO servers. Self-signed certificates are not recommended for production environments. Certificates must be installed on the Application Server and any relevant load balancers or reverse proxies.

SMTP Service Credentials

SMTP credentials are required for:

  • Email notifications
  • Password resets
  • User registration and verification

Supported Options:

  • Corporate SMTP servers
  • Third-party services like SendGrid or Amazon SES

Configuration:

  • Ensure SMTP configuration within the portal to enable email notifications sent during various application steps.
  • Configure SMTP to allow email notifications triggered by different scenarios like registration requests, content uploads, content sharing, password resets, etc.
  • Ensure firewall rules allow outbound traffic to the SMTP server.
  • SMTP is fundamentally required for registering new users in VIDIZMO, facilitating workflows, user registrations, license activations, and other critical notifications within the application.

The following software components are required for VIDIZMO deployment:

Software
Microsoft .NET 8 Runtime
Microsoft .NET Framework 4.8
Python 3.9.13
Oracle JDK 17
NSSM (Non-Sucking Service Manager)
URL Rewrite Module 2.1
SQL Server 2022
SQL Server Management Studio

Backup and Disaster Recovery

Plan for regular backups of the following components:

  • VIDIZMO Databases: SQL Server backup strategies (full, differential, transaction log)
  • Content Storage: Replication or backup of media files
  • Configuration Files: Application and server configuration backups

High Availability Considerations

To handle large numbers of concurrent users, consider:

  • Multiple Application Servers behind a load balancer
  • Dedicated Encoding Servers for high-volume media processing
  • Distributed AI Servers for intensive analysis tasks
  • SQL Server Always On for database redundancy
  • Secondary or passive Application Server deployments
  • Cloud storage integration (Azure Blob Storage / AWS S3) for content redundancy

Network bandwidth and storage throughput should be monitored to prevent bottlenecks.