Table of Contents
The Math of an IPTV Server
An IPTV server has to simultaneously do four resource-hungry things:
- Pull source streams (M3U, MPD, satellite, HLS) - bandwidth in, light CPU.
- Possibly transcode them (H.264 -> multi-bitrate, or ABR ladders) - heavy CPU or GPU.
- Fan them out to concurrent viewers - bandwidth out, medium CPU.
- Run the admin panel and DB - moderate CPU, significant RAM.
The order of resources by how likely they are to be your bottleneck, in most setups: bandwidth > RAM > CPU > disk. This surprises operators new to IPTV who over-invest in CPU and run out of network port.
Bandwidth - Usually the Real Bottleneck
Rule-of-thumb per concurrent viewer (live TV, no transcoding):
- SD 480p: ~1.5 Mbps
- HD 720p: ~3 Mbps
- FHD 1080p: ~6 Mbps
- 4K (rare): ~20 Mbps
So 500 concurrent FHD viewers = 500 x 6 Mbps = 3 Gbps of sustained egress. A 1 Gbps port hits 90 percent capacity at around 150 FHD users. This is where operators run into real-world ceilings fast.
Bandwidth providers that understand IPTV workloads and will not throttle you:
- FDC Servers (NL, US) - IPTV-friendly, 1/10 Gbps unmetered
- OVHcloud (EU, US) - generous on egress, strict on abuse reports
- Hetzner (DE) - cheap bandwidth, strict content policy
- WorldStream (NL) - purpose-built for streaming workloads
- Datapacket (EU) - IPTV specialists
- LeaseWeb (NL, US, APAC) - reliable but pricier
Avoid: AWS, GCP, Azure, Linode, Vultr - their egress pricing makes IPTV uneconomic past 100 users.
CPU - Where It Matters
For pure re-streaming (no transcoding), CPU is moderate. An AMD EPYC 7282 or Intel Xeon E-2288G handles 2000+ concurrent HLS viewers without breaking a sweat. The work is network I/O, and modern Linux kernels do it on-NIC.
For transcoding, CPU is the dominant resource. Encoding 1080p H.264 at ultrafast preset takes roughly 1 core per stream. Encoding at better presets takes 2-4 cores. If you run an ABR ladder (say, 1080p -> 720p -> 480p -> 360p) you need 4-6 cores per source.
Most IPTV panels try to copy streams rather than transcode - if the source is already H.264+AAC, no encode step is needed. The exception is scrambled or DRM-protected sources that must be decrypted, decoded, and re-encoded.
RAM - How Much You Actually Need
RAM needs break down by component:
- MySQL / MariaDB: 2-8 GB depending on DB size. IPTV DBs grow fast (one row per stream connection). Budget
innodb_buffer_pool_size = 4Gfor a panel with 1000+ users. - PHP-FPM workers (on legacy panels): 50 MB per worker, 100-300 workers under load = 5-15 GB.
- FFmpeg workers: 100-200 MB per active stream.
- Nginx / panel core: 1-2 GB.
- OS + cache: at least 2 GB free for the kernel page cache.
For a XUI.ONE / Xtream UI panel with 500 users, realistic minimum is 16 GB, and 32 GB gives you breathing room. For a Xtream-Masters panel at the same load, 16 GB is comfortable because there is no PHP-FPM pool eating memory.
Disk - NVMe vs SSD vs HDD
- Live-only IPTV server: 40 GB SSD is enough for the OS, panel, and database. Streams are in-memory or transit only.
- Live + VOD: NVMe is mandatory if VOD is served off local disk. 500 GB to 4 TB depending on library size. SATA SSD works but seek times slow playback-start noticeably.
- Live + VOD + catchup: catchup recording writes 24x7. Plan 500 GB per 24-hour catchup per channel at HD. A 30-channel, 7-day catchup library is 100 TB+, needing either a dedicated NAS or S3-style object storage.
Avoid HDDs for anything except cold VOD storage. Modern players assume sub-second seek.
Server Specs by User Count Tier
| Tier | Main Server | Load Balancers | Monthly Infra Cost |
|---|---|---|---|
| < 100 users (pilot) | 4 vCPU, 8 GB, 40 GB SSD, 1 Gbps | None (shared) | €70 - €120 |
| 100 - 500 | 8 vCPU, 16 GB, 80 GB SSD, 1 Gbps | 1 x (8 vCPU, 16 GB, 1 Gbps) | €200 - €350 |
| 500 - 2000 | 16 vCPU, 32 GB, 200 GB NVMe, 1 Gbps | 2-3 x (8 vCPU, 16 GB, 10 Gbps) | €600 - €1200 |
| 2000 - 5000 | 32 vCPU, 64 GB, 500 GB NVMe, 10 Gbps | 4-6 x (16 vCPU, 32 GB, 10 Gbps) | €1800 - €3500 |
| 5000 - 10000 | 32-64 vCPU, 128 GB, 1 TB NVMe RAID10, 10 Gbps | 8-12 x (16-32 vCPU, 32-64 GB, 10 Gbps) | €4000 - €8000 |
These numbers assume a modern panel (Xtream-Masters). Legacy panels need 30-50 percent more RAM and CPU at the same user count due to PHP-FPM inefficiencies.
Hosting Providers Known to Work
For the main server (admin + DB), something stable and well-connected:
- Hetzner EX-series dedicated: great price/performance, strict on copyright complaints.
- OVH Rise/Advance dedicated: IPTV-friendly, unmetered on most plans.
- LeaseWeb dedicated: rock solid for small operators.
For load balancers (bandwidth-heavy, less sensitive):
- FDC Servers: multiple 10 Gbps nodes at reasonable prices.
- WorldStream: IPTV-focused, 10 Gbps plans available.
- Datapacket: premium but excellent peering.
OS-Level Tuning Checklist
Every serious IPTV server needs these tunings applied before going live:
File Descriptor Limits
TCP Stack
MariaDB Tuning
UFW Firewall Baseline
Full playbook in our high CPU optimization and RAM tuning guides.
