Set up NVIDIA NVENC accelerated encoding on Debian for Wowza Streaming Engine

The Wowza Streaming Engine™ media server software Transcoder supports NVIDIA's NVENC accelerated encoding. This article describes how to set up the NVIDIA driver and Wowza Streaming Engine on Debian to leverage this technology. The procedure in this article was tested against Debian 7.0.0.

Notes:
  • Accelerated encoding isn't available when running on a virtual hardware environment such as VMware or Xen.  
  • Older graphics drivers for your NVIDIA hardware may limit NVENC-based video encoding to approximately 30 simultaneous encoding sessions. Update your graphics driver to the latest version to avoid this limitation.

Set up NVENC accelerated encoding


  1. Download and install Debian 7.0.0 on a server that includes a supported NVIDIA graphics card:
    1. Go to Downloading Debian CD/DVD images via HTTP/FTP and click on Debian Official CD/DVD images of the "stable" release.
       
    2. Click the amd64 link in the DVD section.
       
    3. Download debian-7.0.0-amd64-DVD-1.iso.
       
    4. Burn the downloaded ISO image onto a DVD.
       
    5. Install the operating system from the DVD.
       
      Note: For best performance, only install the Standard system utilities option. Uncheck all other options.
  2. After the installation is complete and the server is rebooted, do the following to prepare the system for the NVIDIA driver installation:
    1. Log on to the system as root user.
       
    2. Update and upgrade all components.
      apt-get update
      apt-get upgrade
    3. Install Development Tools.
      apt-get install build-essential
    4. Install kernel headers.
      apt-get install linux-headers-$(uname -r)
    5. Disable the Nouveau driver:
       
      1. Open the blacklist.conf file.
        vi /etc/modprobe.d/blacklist.conf
      2. Add the following line to the bottom of the blacklist.conf file and then save and close the file.
        blacklist nouveau
    6. Restart the server.
      shutdown -r 0
  3. Download and install the 64-bit Linux driver for your graphics card:
    1. Log on to the system as root user.
       
    2. Download the graphics driver for your hardware from NVIDIA Driver Downloads.
       
    3. Make the driver installation package executable.
      chmod +x NVIDIA-Linux-*
    4. Run the driver installation package.
      ./NVIDIA-Linux-*
      During the installation, acknowledge the following prompts as follows:
       
      • Accept: License Agreement
         
      • No: CC version check failed
         
      • Yes: Install NVIDIA 32-bit compatibility OpenGL libraries
         
      • Yes: OpenGL location warning
         
      • Yes: Run nvidia-xconfig utility
         
      • OK: Configuration successfully updated
    5. Restart the server.
      shutdown -r 0
  4. Install Java and Wowza Streaming Engine.

You can now use the NVENC encoding implementation in your Transcoder template. For more information, see Set up and run Transcoder in Wowza Streaming Engine.

More resources