Install & Upgrade Specifications Setup Streaming Local/FTP File HLS HTML Web Video RTMP SRT DVB MPEG-TS MPEG-DASH Blackmagic Decklink Newtek NDI Webcam & Screen IP Camera Advanced Settings Seamless Streaming Multi-bitrate Video Codecs NVIDIA GPU Intel GPU NETINT VPU Video Overlay

IPTV OTT Encoding & Streaming

Using NVIDIA GPU

NVIDIA NVENCNVIDIA GPUs contain one or more hardware-based decoder and encoder units (separate from the CUDA cores) that provide fully-accelerated video decoding and encoding for several popular codecs. With GPU decoding and encoding via NVENC and NVDEC SDKs, IPVTL offloads heavy computational tasks from the CPU, freeing it for other applications.

Before selecting NVIDIA video cards, visit the NVIDIA Video Encode and Decode GPU Support Matrix to ensure the card meets your requirements.

Set up NVIDIA GPU Streaming on Windows

To set up NVIDIA GPU streaming on Windows, desktop operating systems like Windows 10 are recommended over server OS. Make sure to install the latest NVIDIA video driver from NVIDIA Official Drivers.

Set up NVIDIA GPU Streaming on Linux

To enable NVIDIA GPU streaming on Linux, recent Linux distributions such as Ubuntu are recommended, as they provide better support for the latest NVIDIA video drivers. For example, Ubuntu includes the ubuntu-drivers tool for easy NVIDIA driver installation. For detailed instructions, visit Ubuntu NVIDIA Drivers Installation. Always install the latest video driver, as GPU encoding may not function with outdated drivers.

After driver installation, run nvidia-smi in a command console to verify the installation.

# nvidia-smi
Wed Dec 11 09:52:10 2019
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 536.23                 Driver Version: 536.23       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla K80                     On   | 00000000:00:1E.0 Off |                  N/A |
|  0%   43C    P0               7W / 149W |   639MiB /  11441MiB |      1%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

Note: NVIDIA GeForce GTX/RTX series and Quadro models below K2000/M2000/P2000/T2000 have a maximum of 3 to 5 encoding sessions per system. This is a hard limit enforced by the NVIDIA driver. Other Quadro models, Tesla, and GRID cards do not have this limitation.
To bypass this limit, follow the instructions at https://github.com/keylase/nvidia-patch for a third-party driver patch (use at your own risk).

Set up NVIDIA Video Encoding

IPVTL supports H.264, HEVC, and AV1 encoding on NVIDIA GPUs. In channel configuration, channel configuration, select encodings with NVENC to enable GPU encoding.

IPVTL NVIDIA Encoding

Different NVIDIA video cards have different video encoding capabilities. For example, GeForce RTX 4060 supports AV1 encoding, while GeForce RTX 3060 and GTX 1660 do not. For details, visit NVIDIA Video Encode and Decode GPU Support Matrix.

Set up NVIDIA Video Decoding

If the channel source video is encoded in H.264, HEVC, or MPEG-2, you can enable NVDEC to perform full GPU transcoding. Select H.264 or HEVC with NVDEC/CUVID (matching your source video format) in advanced video settings > Misc. > GPU Decoding. This performs all video decoding, resizing, and encoding operations (including deinterlacing if required) on the GPU, avoiding unnecessary data transfers between system memory and video memory.

IPVTL NVIDIA Decoding

Tip: If you have multiple NVIDIA cards installed, specify which card to use in the settings above to balance the GPU load.

Monitor NVIDIA GPU Load

The GPU-Z tool can monitor NVIDIA GPU load on Windows. Go to the Sensors tab; Video Engine Load reflects the current NVDEC/NVENC load. Note that this is different from "GPU Load", which reflects 3D-rendering load instead. If you have multiple video cards, select them in IPVTL advanced video options and monitor them separately to maintain proper load balancing. Alternatively, you can use the GPU load monitor available in Windows 10 Task Manager and later.

GPU-Z Video Engine Load

On Linux, use nvidia-smi or nvtop for GPU monitoring.