How to Build an IPTV System from Scratch Using Satellite/Cable Source, DVB Hardware, GPU Transcoding, and XUI.one
Building a professional-grade IPTV system from scratch may seem complex, but with the right components, software, and guidance — anyone can set up a stable, scalable IPTV infrastructure. This tutorial walks you through a complete setup using DVB-S/S2 cards, NVIDIA GPUs, Astra CESBO, and XUI.one.
💻 Recommended Minimum Server Configuration
To build a reliable and scalable IPTV system with DVB + GPU Transcoding, we recommend starting with the following physical server specs:
- CPU: Intel Xeon Silver 4310 (or AMD EPYC equivalent)
- RAM: 64GB DDR4 ECC
- Storage: 256-512 NVMe SSD (RAID1 optional for redundancy)
- GPU: NVIDIA RTX 3060 Ti (supports NVENC, great balance of cost vs. performance)
- DVB Cards: 2x TBS6909X (8x Tuners per card, supports DVB-S/S2/S2X)
- Power Supply: Minimum 750W with GPU-ready 8-pin rails
- OS: Ubuntu Server 20.04 LTS or 22.04 LTS (depending on drivers TBS compatibility)
- Network: 1Gbps Dedicated Uplink (or higher depending on number of streams)
This configuration is scalable and perfect for launching an IPTV service focused on capturing satellite or cable feeds, transcoding them efficiently, and distributing them with advanced management via XUI.one.
🛰️ STEP 1: Capture Satellite or Cable TV Feeds (Source Acquisition)
The first and most important step in any IPTV operation is sourcing the live TV channels.
✅ Requirements:
- Satellite Dish / Cable Input
- TBS DVB Cards — These hardware tuner cards allow the server to receive DVB-S (Satellite), DVB-C (Cable), or DVB-T (Terrestrial) feeds.
- Example: TBS 6909-X DVB-S2 Card
✅ Why use TBS Cards?
They offer multi-stream capabilities, high reliability, and are fully compatible with professional IPTV software like Astra CESBO.
🔧 STEP 2: Install TBS Driver (for Ubuntu-based systems)
TBS cards require drivers to function properly. CESBO provides an official automated script to install these drivers.
curl -sSf https://cdn.cesbo.com/astra/scripts/drv-tbs.sh | sh
📌 What this does:
This command downloads and installs the necessary kernel modules and drivers for TBS cards so that Astra and your OS can recognize the hardware.
⚙️ STEP 3: Install Astra CESBO (TV Stream Capture and Processing Engine)

Astra CESBO is the heart of your IPTV headend. It reads the DVB streams from your hardware and transforms them into usable IP-based formats (like UDP, HLS, MPEG-TS).
✅ Capabilities:
- Handle DVB inputs from TBS Cards
- Stream to UDP, HTTP, HLS, RTMP
- Multiple input → output stream mapping
- EPG grabber, PID filtering, TS multiplexer
📚 Installation Guide: Full Astra CESBO Offline Guide
📂 Default Config Folder: /etc/astra/
🖥️ Web Interface: http://your-server-ip:8000
🧩 You can configure Astra to pull the stream from any DVB adapter and route it to a UDP or HLS output stream ready for transcoding.
🎥 STEP 4: GPU Transcoding for IPTV with NVIDIA
To reduce bandwidth and ensure compatibility across devices, transcoding is essential.
✅ Recommended GPU:
- NVIDIA RTX 3060 Ti — excellent performance for H.264/H.265 transcoding
📈 Check Capacity: Use Elpamsoft GPU Transcoding Benchmark Tool

🔧 Install NVIDIA Drivers (Ubuntu)
To enable GPU acceleration:
sudo apt update
sudo apt install nvidia-driver-535
sudo reboot
NOTE: Make sure Secure Boot is disabled for NVIDIA driver to load correctly.
🚀 STEP 5: Unlock NVENC Transcoding Limits
Consumer GPUs are artificially limited to 3 NVENC sessions.
✅ Use NVENC Patch to unlock full parallel encoding support.
📖 Guide: Unlock NVENC Transcoding Limits install
wget https://github.com/keylase/nvidia-patch/archive/refs/heads/master.zip
unzip master.zip
cd nvidia-patch-master
sudo bash patch.sh
You can view and verify this script from the official GitHub repository:
🔗 https://github.com/keylase/nvidia-patch
🧪 STEP 6: Choose a Transcoding Engine
Use either of the following professional streaming engines:
📌 Both support:
- Real-time transcoding (H.264/H.265)
- Stream balancing and backup
- Timeshift and stream delay
- Per-profile bitrate and resolution control
📦 STEP 7: Deploy Your IPTV Panel with XUI.one
Once your channels are ready and transcoded, you need a frontend to manage clients, user accounts, apps, EPGs, and billing.
✅ Recommended: XUI.one IPTV Panel v1.5.13
📌 Install the panel and link it to Flussonic or Xaccel-Codec as your stream source. Configure packages, users, DNS, and app access.
📺 STEP 8: Client Access (Apps, Players, Browsers)
You now need to deliver your content to your end-users:
✅ Use:
- IPTV Smarters Pro (Rebranded app)
- XCIPTV Player (Rebranded app)
- Web Player Interface
- Official IPTV Apps Documentation
📊 Professional IPTV Hardware Workflow Overview
From capturing satellite signals to reaching the final viewer, this is the end-to-end pathway of a fully independent IPTV infrastructure:
[ Satellite / Cable Signal ]
↓
[ TBS DVB Cards ]
↓
[ Astra CESBO ]
↓
[ Flussonic / Xaccel Codec ]
↓
[ XUI.one ]
↓
[ Clients: Apps / Web Players ]
Every step in this diagram plays a vital role:
- Satellite/Cable Signal: The raw broadcast source
- TBS DVB Cards: Capture live signal directly from satellite or cable
- Astra CESBO: Demultiplex and stream MPEG-TS input from DVB hardware
- Flussonic/Xaccel: Perform GPU-powered transcoding and adaptive streaming
- XUI.one: Provide end-user access control, channel lineup, EPG and billing
- Client Applications: Final playback via branded apps or smart TV web interfaces
This setup ensures full control over your content, legal compliance (for FTA or properly decrypted content), and high scalability for commercial IPTV/OTT businesses.