OvenMediaEngine Enterprise
English
English
  • Introduction
  • OvenMediaEngine Configuration
  • Getting Started
    • Getting Started with Ubuntu
    • Getting Started with RHEL
    • Getting Started with Docker
  • Enterprise-grade Features
    • Web Console
      • Web Console Configuration
      • Sign In
      • Change Password
      • Web Console Home
        • Stream List
      • Stream Monitoring
        • Managed and Instant Streams
        • Scheduled Channels | 0.16.4.0+
        • Multiplex Channels | 0.16.5.0+
      • Monitoring
      • Logs
      • Configuration Files
      • Settings
        • Server
        • Live Sources (Ingress Protocols)
          • RTMP | 0.9.0.0+
          • WebRTC/WHIP | 0.12.0.0+/0.15.1.0+
          • SRT | 0.12.0.0+
          • MPEG-2 TS | 0.10.4.0+
          • Scheduled Channels | 0.16.4.0+
          • Multiplex Channels | 0.16.5.0+
        • ABR and Transcoding
          • Transcoding
          • Output Profiles
          • Adaptive Bitrate Streaming (ABR) | 0.14.3.0+
          • Encodes
          • Conditional Transcoding
        • Streaming (Egress Protocols)
          • WebRTC/WHIP | 0.9.0.0+/0.15.1.0+
          • Low Latency HLS (LLHLS) | 0.14.0.0+
          • Legacy HLS | 0.16.6.0+
        • TLS Encryption | 0.14.0.0+
        • Access Control
          • Signed Policy | 0.12.0.0+
          • Admission Webhooks | 0.12.2.0+
        • Thumbnail | 0.15.7.0+
        • Recording | 0.16.5.0+
        • Push Publishing | 0.15.14.0+
        • REST API | 0.11.0.0+
        • Alert | 0.15.11.0+
      • Restart
    • Record Delivery | 0.16.5.0+
    • Digital Rights Management (DRM)
      • OvenMediaEngine Configuration for DRM | 0.16.0.0+
      • PallyCon DRM Configuration | 0.16.4.0+
    • Hardware-Accelerated Video Encoding | 0.16.4.0+
    • Proxy Protocol Integration | 0.16.6.2+
    • Event Monitoring | 0.18.1.0+
      • Configuration
      • Event Specification
    • Web Console Publishing | 0.18.1.2+
  • Advanced Management Tools
    • API Storage | 0.17.0.0+
    • Restart Application | 0.17.0.0+
    • Publisher Extension
    • RTMP Authentication | 0.17.2.0+
    • Generating Audio PTS | 0.17.2.3+
    • Inserting AMF0 messages in RTMP Push Publisher | 0.17.3.0+
    • Inserting Ad Markers (EXT-X-CUE-OUT/EXT-X-CUE-IN) | v0.17.3.0+
    • Inserting SEI into H.264 (AVC) Streams | v0.18.0.0+
  • Release Notes
    • 0.18.1 (May 9, 2025 update)
    • 0.18.0
    • 0.17.3
    • 0.17.2
    • 0.17.1
    • 0.17.0
    • 0.16.8
    • 0.16.7
    • 0.16.6
    • 0.16.5
    • 0.16.4
Powered by GitBook
On this page
  • Supported OS and Driver Versions
  • Supported Codecs
  • Install and Check Drivers
  • NVIDIA Graphics Driver
  • XILINX Video SDK 3.0 Driver
  • Check if the Hardware-accelerator is enabled
  1. Enterprise-grade Features

Hardware-Accelerated Video Encoding | 0.16.4.0+

Starting with OvenMediaEngine Enterprise version 0.16.4.0-1, various hardware-accelerated video encoding features are available.

PreviousPallyCon DRM Configuration | 0.16.4.0+NextProxy Protocol Integration | 0.16.6.2+

Last updated 9 months ago

When installing with the RPM/DEB package file distributed in the OvenMediaEngine Enterprise, the Hardware-Accelerated Video Encoding is automatically enabled if the device has an NVIDIA Graphics Card or Xilinx Alveo U30MA card and the corresponding driver installed. Graphics drivers can be reinstalled, updated, or removed after the RPM/DEB package installation without affecting program execution. This section describes the supported versions, supported codecs, and the methods for driver installation and verification.

Supported OS and Driver Versions

Device
Support OS
Driver Verion

NVIDIA

Ubuntu 20.04,

Ubuntu 22.04 Rocky 9

NVIDIA Driver 470+ CUDA Driver 10.1+

Xilinx Alveo U30MA

Ubuntu 20.04,

Ubuntu 22.04

Xilinx Video SDK 3.0

Supported Codecs

Device
Decoder
Filter
Encoder

NVIDIA

H.264, H.265

Sclaer

H.264, H.265

Xilinx Alveo U30MA

H.264, H.265

Sclaer

H.264, H.265

Install and Check Drivers

NVIDIA Graphics Driver

The contents of this section are based on the misc/install_nvidia_driver.sh script provided by OvenMediaEngine as an Open-Source. If installation issues arise, please refer to the .

Ubuntu Linux 20.04 / 22.04

sudo apt-get -y update
sudo apt-get -y install --no-install-recommends apt-utils lshw
sudo apt-get -y install --no-install-recommends keyboard-configuration
sudo apt-get -y install --no-install-recommends ubuntu-drivers-common
sudo apt-get -y install --no-install-recommends gnupg2 ca-certificates software-properties-common


# Uninstalling a previously installed NVIDIA Driver
sudo apt-get -y remove --purge nvidia-*
sudo apt-get -y autoremove
sudo apt-get -y update

# Remove the nouveau driver.
# If the nouveau driver is in use, the nvidia driver cannot be installed.
USE_NOUVEAU=`sudo lshw -class video | grep nouveau`
if [ ! -z "$USE_NOUVEAU" ]; then

        # Disable nouveau Driver
        echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
        echo "blacklist lbm-nouveau" >> /etc/modprobe.d/blacklist.conf
        echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist.conf
        echo "alias nouveau off" >> /etc/modprobe.d/blacklist.conf
        echo "alias lbm-nouveau off" >> /etc/modprobe.d/blacklist.conf
        sudo update-initramfs -u
        echo "Using a driver display nouveau.Remove the driver and reboot.Reboot and installation script to rerun the nvidia display the driver to complete the installation."

        sleep 5s
        reboot
fi

# Custom Driver Version
NVIDIA_DRIVER_VERSION=

# Install nvidia drivers and cuda-toolit
sudo add-apt-repository -y  ppa:graphics-drivers/ppa

sudo apt -y update
if [ -z "$NVIDIA_DRIVER_VERSION" ]
then 
    # installation with recommended version
    sudo ubuntu-drivers autoinstall
else
    # installation with specific version
    sudo apt-get install -y --no-install-recommends nvidia-driver-${NVIDIA_DRIVER_VERSION}
fi     
sudo apt-get install -y --no-install-recommends nvidia-cuda-toolkit

Rocky Linux (Verification Required)

sudo yum -y update
sudo yum -y install kernel-devel
sudo yum -y install epel-release
sudo yum -y install dkms curl lshw
sudo yum -y install subscription-manager

echo "Reboot is required to run with a new version of the kernel."

# Remove the nouveau driver.
USE_NOUVEAU=`lshw -class video | grep nouveau`
if [ ! -z "$USE_NOUVEAU" ]; then

        # Disable nouveau Driver
        sudo sed "s/GRUB_CMDLINE_LINUX=\"\(.*\)\"/GRUB_CMDLINE_LINUX=\"\1 rd.driver.blacklist=nouveau nouveau.modeset=0\"/" /etc/default/grub
        sudo grub2-mkconfig -o /boot/grub2/grub.cfg
        sudo echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
        sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
        sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)

        echo "Using a driver display nouveau. so, remove the driver and reboot. "
        echo "After reboot and installation script to rerun the nvidia display the driver to complete the installation."

        sleep 5s
        sudo reboot
fi

sudo subscription-manager repos --enable=rhel-7-server-optional-rpms
sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum clean expire-cache

sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
sudo yum -y install cuda-drivers

Install and Check the Driver

# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

# nvidia-smi 
Wed Jul  3 23:30:00 2024       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:0A:00.0 Off |                  N/A |
| 55%   33C    P8    10W / 120W |      2MiB /  3018MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+                                                                  
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

XILINX Video SDK 3.0 Driver

Ubuntu Linux

# Added resositroty
# https://xilinx.github.io/video-sdk/v3.0/package_feed.html
CODE_NAME=$(lsb_release -c -s)
echo deb [trusted=yes] https://packages.xilinx.com/artifactory/debian-packages ${CODE_NAME} main > xilinx.list
sudo cp xilinx.list /etc/apt/sources.list.d/

# Remove older versions of the Xilinx Video SDK
sudo apt-get -y remove xvbm xilinx-u30-xvbm xrmu30decoder xrmu30scaler xrmu30encoder xmpsoccodecs xmultiscaler xlookahead xmaapps xmapropstojson xffmpeg launcher jobslotreservation xcdr
sudo apt-get -y remove xrm xilinx-container-runtime xilinx-xvbm xilinx-u30-xrm-decoder xilinx-u30-xrm-encoder xilinx-u30-xrm-multiscaler xilinx-u30-xma-multiscaler xilinx-u30-xlookahead xilinx-u30-xmpsoccodecs xilinx-u30-xma-apps xilinx-u30-xmapropstojson xilinx-u30-xffmpeg xilinx-u30-launcher xilinx-u30-jobslotreservation xilinx-u30-xcdr xilinx-u30-gstreamer-1.16.2 xilinx-u30-vvas xilinx-sc-fw-u30 xilinx-u30-gen3x4-base xilinx-u30-gen3x4-validate

sudo apt-get -y update
sudo apt-get -y install cmake pkg-config
sudo apt-get -y --allow-change-held-packages install xrt=2.11.722
sudo apt-mark hold xrt
sudo apt-get -y install xilinx-alveo-u30-core

sudo cp /opt/xilinx/xcdr/xclbins/transcode.xclbin /opt/xilinx/xcdr/xclbins/transcode_lite.xclbin
sudo cp /opt/xilinx/xcdr/xclbins/on_prem/transcode.xclbin /opt/xilinx/xcdr/xclbins/transcode.xclbin

Check if the Hardware-accelerator is enabled

Once the RPM/DEB package and driver installation are complete, you need to verify that the drivers are correctly loaded and the Hardware-Accelerated Video Encoding is activated in OvenMediaEngine. This can be checked through the OvenMediaEngine's Log files.

$ cd /var/log/ovenmediaengine
$ cat ovenmediaengine.log | grep transcoder_gpu

[OvenMediaEngine:1234] TAG| transcoder_gpu.cpp:43   | Trying to check the hardware accelerator
[OvenMediaEngine:1234] TAG| transcoder_gpu.cpp:278  | NVIDIA. DeviceId(0), Name(NVIDIA GeForce GTX 1060 3GB), BusId(10), CudaId(0)
[OvenMediaEngine:1234] TAG| transcoder_gpu.cpp:48   | Supported NVIDIA Accelerator. Number of devices(1)
[OvenMediaEngine:1234] TAG| transcoder_gpu.cpp:62   | No supported Xilinx Media Accelerator
[OvenMediaEngine:1234] TAG| transcoder_gpu.cpp:72   | No supported Intel QuickSync Accelerator
[OvenMediaEngine:1234] TAG| transcoder_gpu.cpp:82   | No supported Netint VPU Accelerator

The Xilinx Video SDK 3.0 driver officially supports Ubuntu, Red Hat Linux 7.8, and Amazon Linux 2. This part specifically covers Ubuntu. For detailed information, please refer to the .

Official NVIDIA Documentation
Official Xilinx Documentation