OvenMediaEngine Enterprise
English
English
  • About
    • Introduction
    • Release Notes
      • 0.18.2
      • 0.18.1
      • 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
  • Installation
    • Getting Started
      • Getting Started with Ubuntu
      • Getting Started with RHEL
      • Getting Started with Docker
    • Configuration Structure Overview
  • Web Console
    • Getting Started with Web Console
    • Web Console Overview
      • Sign In
      • Change Password
      • Web Console Home
      • Stream List
        • Managed and Instant Streams
        • Scheduled Channels | 0.16.4.0+
        • Multiplex Channels | 0.16.5.0+
      • Event Monitoring | 0.18.1.0+
        • Configuration
        • Event Specification
      • Web Console Publishing | 0.18.1.2+
      • Logs
      • Configuration Files
      • Restart
    • Web Console Settings
      • Server Settings
      • Live Sources (Ingress Protocols) Settings
      • ABR and Transcoding Settings
      • Streaming (Egress Protocols) Settings
      • TLS Encryption Settings | 0.14.0.0+
      • Access Control Settings
      • Thumbnail Settings | 0.15.7.0+
      • Recording Settings | 0.16.5.0+
      • Push Publishing Settings | 0.15.14.0+
      • REST API Settings | 0.11.0.0+
      • Alert Settings | 0.15.11.0+
  • CDN Compatibility
    • Origin Server Redundancy
    • Origin Cache Control
  • Protection
    • RTMP Authentication | 0.17.2.0+
    • Proxy Protocol Integration | 0.16.6.2+
    • Digital Rights Management (DRM)
      • OvenMediaEngine Configuration for DRM | 0.16.0.0+
      • PallyCon DRM Configuration | 0.16.4.0+
  • Performance
    • Hardware-Accelerated Video Encoding | 0.16.4.0+
  • Event Insertion
    • Insert SEI into H.264 (AVC) Streams | v0.18.0.0+
    • Insert AMF0 messages in RTMP Push Publisher | 0.17.3.0+
  • Monetization
    • Insert Ad Markers (EXT-X-CUE-OUT/EXT-X-CUE-IN) | v0.17.3.0+
    • Insert onCuePoint messages into YouTube Live | 0.17.3.0+
  • Advanced Management
    • Generating Audio PTS | 0.17.2.3+
    • API Storage | 0.17.0.0+
    • Restart Application | 0.17.0.0+
    • Record Delivery | 0.16.5.0+
    • Add Delay to the Stream
    • Control Default Playlist Creation
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. Performance

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+NextInsert SEI into H.264 (AVC) Streams | v0.18.0.0+

Last updated 3 days 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

Scaler

H.264, H.265

Xilinx Alveo U30MA

H.264, H.265

Scaler

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

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. For detailed information, please refer to the .

Official NVIDIA Documentation
Official Xilinx Documentation