⚠️ CRITICAL REQUIREMENTS - READ FIRST
CPU Overcommit is NOT Supported: WINK Forge and Media Router require dedicated physical CPU cores. CPU overcommitment (allocating more virtual CPUs than physical cores available) will result in severe performance degradation and dropped frames.
Hyperthreading Recommendation: For optimal performance, especially with WINK Forge, we strongly recommend disabling hyperthreading in your BIOS/hypervisor settings. Live video transcoding requires predictable, consistent CPU performance that hyperthreading can interfere with.
Memory Ballooning: Must be disabled. All allocated memory must be reserved and cannot be reclaimed by the hypervisor.
Why These Requirements Matter
WINK Forge performs real-time video transcoding using highly optimized multi-threaded encoding algorithms. Each video stream operates in its own dedicated thread with intensive CPU operations including:
- H.264/H.265 video encoding and decoding
- Frame-level color space conversion and scaling
- Audio resampling and encoding
- Timestamp synchronization and buffer management
These operations are extremely CPU-intensive and time-sensitive. Any CPU scheduling delays, context switching overhead, or memory swapping will cause:
- Dropped video frames
- Audio/video desynchronization
- Encoding artifacts and quality degradation
- Stream failures and viewer disconnects
WINK Media Router is less CPU-intensive but requires consistent low-latency processing for stream multiplexing, HLS segment generation, and concurrent connection handling. Memory ballooning can cause packet delays and connection timeouts.
1. Hypervisor Platform & Version
Select Your Virtualization Platform
Management Interface
How do you manage your virtual machines?
2. Preferred VM Image Format
Format Selection Guide
- QCOW2 (QEMU Copy-On-Write v2): Native format for KVM, RHEV, Proxmox, oVirt. Supports compression and snapshots.
- OVA (Open Virtualization Archive): VMware, VirtualBox, and most platforms. Single file containing VM config + disk.
- VMDK (Virtual Machine Disk): VMware native format. Can be used with VirtualBox and some cloud platforms.
- RAW: Universal format, no overhead, largest file size. Compatible with all platforms but no compression.
- VHD/VHDX: Microsoft Hyper-V native format.
Select Preferred Format (check one)
3. Resource Allocation - WINK Forge (Transcoder)
WINK Forge CPU & Memory Formula
WINK Forge performs real-time video transcoding. Resource requirements scale linearly with the number of concurrent streams and video resolution.
| Resolution | CPU Cores per Stream | RAM per Stream (Minimum) | RAM per Stream (Recommended) | RAM per Stream (High Quality) |
|---|---|---|---|---|
| SD / 480p | 0.5-1 core* | 2 GB | 3 GB | 4 GB |
| HD / 720p | 1 core | 2 GB | 4 GB | 6 GB |
| Full HD / 1080p | 2 cores | 2 GB | 4 GB | 6 GB |
| 2K / 1440p | 2 cores | 3 GB | 5 GB | 8 GB |
| 4K / 2160p | 4 cores | 4 GB | 8 GB | 12 GB |
*Hyperthreading Note: For SD/480p streams only, hyperthreading can be left enabled and 1 hyperthreaded core may work acceptably. For 720p and above, disable hyperthreading and allocate full physical cores.
Your WINK Forge Deployment Size
Number of concurrent video streams:
Primary video resolution (check one):
Calculated WINK Forge Resources:
| Resource | Minimum | Recommended | Your Allocation |
|---|---|---|---|
| CPU Cores (physical) | |||
| RAM (GB) | |||
| Storage (GB) | 20 GB (OS + application, no data storage) | ||
💡 Scaling Recommendation
For deployments exceeding 120 concurrent streams, deploy multiple WINK Forge instances behind a load balancer rather than a single massive VM. This provides:
- Better fault tolerance and redundancy
- Easier horizontal scaling
- Simplified maintenance (update one instance at a time)
- Improved NUMA locality on multi-socket servers
Recommended maximum: 120 streams per WINK Forge instance
4. Resource Allocation - WINK Media Router
WINK Media Router Resource Formula
WINK Media Router handles stream distribution, protocol conversion (HLS, RTSP, RTMP, etc.), and connection management. Resources scale based on the number of concurrent viewers rather than the number of streams.
| Deployment Size | Streams | Concurrent Viewers | CPU Cores | RAM |
|---|---|---|---|---|
| Small | Up to 100 | 1,000 | 3 | 12 GB + 5 GB = 17 GB |
| Medium | Up to 100 | 10,000 | 5 | 12 GB + 50 GB = 62 GB |
| Large | Up to 300 | 20,000 | 7 | 12 GB + 100 GB = 112 GB |
| Enterprise | Up to 500 | 100,000 | 16 | 12 GB + 500 GB = 512 GB |
Your WINK Media Router Deployment Size
Number of video streams to distribute:
Expected peak concurrent viewers:
Calculated WINK Media Router Resources:
| Resource | Calculated Requirement | Your Allocation |
|---|---|---|
| CPU Cores | ||
| RAM (GB) | ||
| Storage (GB) | 20 GB (OS + application, no data storage) | |
💡 Scaling with CDN
For public-facing deployments with >10,000 viewers, consider using a Content Delivery Network (CDN) like Cloudflare, Akamai, or AWS CloudFront. This allows WINK Media Router to serve the CDN edge (single connection), while the CDN handles millions of end users.
With CDN: Media Router only needs resources for stream count, not viewer count.
5. CPU Configuration & Optimization
⚠️ CPU Overcommit - NOT SUPPORTED
CPU cores allocated to WINK VMs must be dedicated physical cores.
Overcommitting CPUs (e.g., allocating 8 vCPUs when only 4 physical cores are available) will cause severe performance issues including dropped frames, encoding failures, and system instability.
Hyperthreading Configuration
Current hyperthreading status on your hypervisor:
Why Disable Hyperthreading?
Video transcoding is a CPU-bound, real-time workload with strict timing requirements. Hyperthreading (Intel HT) or Simultaneous Multithreading (AMD SMT) shares execution units between two logical cores, which can cause:
- Unpredictable performance: Encoding time varies based on what's running on the sibling thread
- Cache contention: Both threads compete for L1/L2 cache, reducing efficiency
- Thermal throttling: Higher heat generation can trigger CPU frequency reduction
- Frame drops: Timing jitter causes missed encoding deadlines
Our recommendation: Disable hyperthreading in your server BIOS for hosts running WINK Forge. This provides consistent, predictable performance.
Will you disable hyperthreading for this deployment?
CPU Pinning / Affinity (Advanced)
For maximum performance, consider pinning vCPUs to specific physical cores to eliminate scheduling variability.
NUMA Configuration (Multi-Socket Servers)
If your server has multiple CPU sockets (NUMA architecture), keep each VM within a single NUMA node for optimal memory performance.
Server CPU socket configuration:
Will you configure NUMA awareness for WINK VMs?
6. Memory Configuration
⚠️ Memory Ballooning - MUST BE DISABLED
Memory ballooning allows the hypervisor to reclaim memory from VMs. This is incompatible with real-time video processing and will cause stream failures.
All memory allocated to WINK VMs must be fully reserved and pinned.
What is Memory Ballooning?
Memory ballooning is a technique where the hypervisor can dynamically reclaim unused memory from VMs and allocate it to other VMs or the host. A "balloon driver" inside the guest OS inflates (requests memory) or deflates (releases memory) based on hypervisor demands.
Why this breaks WINK:
- Frame buffers evicted: Video frames in memory can be swapped to disk, causing massive latency spikes
- Unpredictable performance: Encoding operations that normally take 30ms might suddenly take 500ms
- Memory allocation failures: Allocating buffers for new streams can fail if memory is reclaimed
- System instability: Out-of-memory conditions can crash the transcoding process
How to disable:
- VMware: Set "Memory Reservation" = "Memory Size" (e.g., 64GB allocated = 64GB reserved)
- Hyper-V: Disable "Dynamic Memory" (use fixed memory instead)
- KVM/RHEV: Do not install balloon driver (virtio-balloon), or use
virsh dommemstatto verify no ballooning - Proxmox: Set "Memory: Minimum" = "Memory: Maximum"
Your Memory Configuration
Memory ballooning status:
VMware users: Memory reservation amount: GB (should equal total VM memory)
Hyper-V users: Dynamic Memory is DISABLED
KVM/Proxmox users: Memory is fixed (not ballooned)
7. Storage Configuration
Storage Performance Requirements
WINK VMs require SSD or better storage. Traditional spinning hard drives (HDDs) will not provide adequate performance for video processing workloads.
Storage Type
Storage Performance Specifications
| Metric | Minimum Required | Your Storage Specs |
|---|---|---|
| Storage Type | SSD or better | |
| IOPS | 3,000 IOPS minimum | |
| Throughput | 200 MB/s sequential read/write | |
| Latency | < 1ms average | |
| Capacity (WINK Forge) | 20 GB | |
| Capacity (WINK Media Router) | 20 GB |
Storage Note: WINK Forge and Media Router do not store video data. They are real-time processing appliances. The 20 GB requirement is for the operating system, application binaries, logs, and temporary buffers only.
Disk Provisioning
Thin provisioning vs. Thick provisioning:
Recommendation: Use thick provisioning for production deployments to ensure storage is guaranteed and avoid "out of disk space" failures if the datastore fills up.
8. Network Configuration
⚠️ Dual Network Interface Requirement
Both WINK Forge and WINK Media Router require 2 IP addresses each (2 virtual network interfaces or IP aliases):
- Management Interface: For web UI, API, SSH access (ports 443, 444, 22)
- Media Interface: For streaming traffic (RTSP, RTMP, HLS, etc.)
Total: 4 IP addresses required (2 for Forge, 2 for Router)
Virtual Network Adapter Type
Select your preferred network adapter type:
Network Performance
| Specification | Minimum | Recommended | Your Allocation |
|---|---|---|---|
| Network Speed | 1 Gbps | 10 Gbps | |
| Latency to Cameras | < 10ms | < 5ms |
Network Bonding / Teaming (Optional)
For high-throughput deployments, consider bonding multiple network interfaces:
9. Additional VM Configuration Preferences
Resource Reservation Strategy
How do you want to size your VMs?
VM Generation / Hardware Version
VMware users: Hardware version: (e.g., v14, v19, v20)
Hyper-V users: Generation 1 Generation 2 (recommended)
Time Synchronization
Recommendation: Disable hypervisor time sync and use NTP only to avoid time drift issues.
10. Deployment Summary
| Component | WINK Forge | WINK Media Router |
|---|---|---|
| CPU Cores (dedicated) | ||
| RAM (GB, fully reserved) | ||
| Storage (GB) | ||
| Network Interfaces | 2 (management + media) | 2 (management + media) |
| IP Addresses Required | 2 | 2 |
Estimated deployment date:
Target go-live date: