• How to verify which Wowza Transcoder implementation is invoked

    Wowza Transcoder supports Intel Quick Sync and NVIDIA NVENC accelerated encoding on Windows and Linux operating systems and NVIDIA CUDA accelerated encoding on Windows. When Wowza Transcoder is invoked for the first time, it checks to see if any hardware acceleration resources are available and logs this information in the Wowza media server access log files ([install-dir]/logs/wowzastreamingengine_access.log or [install-dir]/logs/wowzamediaserver_access.log). This article describes what to look for in the logs to determine if hardware acceleration is available and if it's being used.

    Notes:
    • Wowza Streaming Engine™ software or Wowza Media Server™ software (version 3) is required.

    • If you're running your Wowza media server in standalone mode, you can also look for the following statements in real-time in the console window that you used to start the Wowza media server software. For more information, see How to start and stop Wowza Streaming Engine software.

    • Important: NVIDIA CUDA encoding acceleration isn't supported in the latest NVIDIA graphics drivers (340 and later). CUDA-based accelerated encoding is NOT supported in Wowza Streaming Engine 4.1.2 and later.

    Contents


    Intel Quick Sync acceleration
    NVIDIA NVENC acceleration
    NVIDIA CUDA acceleration
    MainConcept software
    Notes

    Intel Quick Sync acceleration


    The Wowza media server software uses the Intel Media SDK to provide accelerated transcoding using Quick Sync technology on Windows and Linux operating systems. To determine if Quick Sync hardware acceleration is available, look for the following log statements:

    Quick Sync is available
    JNI:TranscoderSession.isQuickSyncAvailable[streamName]: Intel Quick Sync hardware acceleration is available
    Quick Sync isn't available
    JNI:TranscoderSession.isQuickSyncAvailable[streamName]: Intel Quick Sync hardware acceleration is NOT available
    To use the Quick Sync encoder, in [install-dir]/transcoder/templates/[template].xml, set the Encode/Video/Implementation property (Wowza Streaming Engine software) or Encode/Video/Transcoder property (Wowza Media Server software) to QuickSync. If you choose the QuickSync encoder but hardware acceleration isn't available, Wowza Transcoder will use the default MainConcept software encoder.

    NVIDIA NVENC acceleration


    Wowza Media Server software (version 3.6) and Wowza Streaming Engine software support NVIDIA graphics cards with Kepler GPU architecture for accelerated transcoding on 64-bit Windows and Linux operating systems. These graphics cards incorporate the hardware-based NVENC H.264 video encoder. To determine if NVIDIA NVENC hardware acceleration is available, look for the following log statements:

    NVENC is available
    JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia NVENC hardware acceleration is available
    NVENC isn't available
    JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia NVENC hardware acceleration is NOT available
    To use the NVENC encoder, in [install-dir]/transcoder/templates/[template].xml, set the Encode/Video/Implementation property (Wowza Streaming Engine software) or Encode/Video/Transcoder property (Wowza Media Server software) to NVENC. If you choose the NVENC encoder but NVENC hardware acceleration isn't available, NVIDIA CUDA encoder acceleration will be used if your hardware and Wowza media server software version supports it. If neither of the NVIDIA accelerated encoding technologies are supported, Wowza Transcoder will use the default MainConcept software encoder.

    Note: 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.

    NVIDIA CUDA acceleration


    Important: NVIDIA CUDA encoding acceleration isn't supported in the latest NVIDIA graphics drivers (340 and later). CUDA-based accelerated encoding is NOT supported in Wowza Streaming Engine 4.1.2 and later.
    The Wowza media server software uses the NVIDIA CUDA SDK to provide accelerated transcoding using CUDA technology on Windows operating systems. To determine if NVIDIA CUDA hardware acceleration is available, look for the following log statements:

    CUDA is available
    JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia CUDA hardware acceleration is available
    CUDA isn't available
    JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia CUDA hardware acceleration is NOT available
    To use the CUDA encoder, in [install-dir]/transcoder/templates/[template].xml, set the Encode/Video/Implementation property (Wowza Streaming Engine software) or Encode/Video/Transcoder property (Wowza Media Server software) to CUDA. If you choose the CUDA encoder but CUDA hardware acceleration isn't available, Wowza Transcoder will use the default MainConcept software encoder.

    MainConcept software


    If your hardware doesn't support acceleration technologies, you can use the default MainConcept software encoder, which doesn't use hardware acceleration. To use the MainConcept software encoder, in [install-dir]/transcoder/templates/[template].xml, set the Encode/Video/Implementation property (Wowza Streaming Engine software) or Encode/Video/Transcoder property (Wowza Media Server software) to default.

    Notes


    • If you're using Wowza Streaming Engine software, you can configure the Implementation setting for encoding presets and the decoding preset in Wowza Streaming Engine Manager. For more information, see How to set up and run Wowza Transcoder for live streaming.

    • You'll only experience accelerated transcoding performance if you have the required hardware and drivers. Make sure that you're always running the latest driver for your hardware:


    • On some Windows operating systems, it's necessary to run the Wowza media server in standalone mode when using hardware acceleration because running as a service might invoke the default MainConcept software encoder. (See How to start and stop Wowza Streaming Engine software.

    • On more recent Windows operating systems, Intel Quick Sync and NVIDIA CUDA hardware acceleration may not be available when running the Wowza media server as a system service due to a security measure called Session 0 Isolation. For information about how to workaround this issue, see How to enable hardware accelerated transcoding when running as a Windows service.

    • If the Wowza media server computer has both NVIDIA NVENC and CUDA graphics cards, you'll see the following statement in the console window after Wowza Transcoder is invoked:
      JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia CUDA and NVENC hardware acceleration is available
      To specify the encoder to use, in [install-dir]/transcoder/templates/[template].xml, set the Encode/Video/Implementation property (Wowza Streaming Engine software) or Encode/Video/Transcoder property (Wowza Media Server software) to the appropriate value. Note that the NVENC encoder is nearly four times faster than the legacy CUDA encoder and consumes less power.

    • If your NVIDIA graphics card doesn't have the NVENC hardware-based video encoder, which comes with most NVIDIA graphics cards with the new Kepler GPU architecture, NVIDIA CUDA encoding acceleration will be used if your hardware and Wowza media server software version supports it. If neither of these accelerated encoding technologies are supported, then the unaccelerated MainConcept software encoder is used.

    • You can log the results of the Transcoder hardware inspection that occurs when the Transcoder is invoked for the first time using the transcoderLogHardwareInspection property. To add this property, do the following:

      1. In Wowza Streaming Engine Manager, click the Server tab.

      2. On the Server Setup page Properties tab, click Custom in the Quick Links bar.

        Note: Access to the Properties tab is limited to administrators with advanced permissions. For more information, see Manager credentials.
      3. In the Custom area, click Edit.

      4. Click Add Custom Property, specify the following settings in the Add Custom Property dialog box, and then click Add:

        • Path - Select /Root/Server.

        • Name - Enter transcoderLogHardwareInspection.

        • Type - Select Boolean.

        • Value - Enter true.

      5. Click Save, and then restart the live application to apply the changes.

      The logs captured when the transcoderLogHardwareInspection property is enabled are similar to the following. In this example, NVIDIA CUDA and Intel Quick Sync hardware was found during the inspection:

      {
      	"infoCUDA":{
      		"availabe":true,
      		"availableFlags":65659,
      		"countGPU":1,
      		"driverVersion":367.35,
      		"cudaVersion":8000,
      		"isCUDAOldH264WindowsAvailable":false,
      		"gpuInfo":[
      			{
      			"name":"Quadro M5000",
      			"versionMajor":5,
      			"versionMinor":2,
      			"clockRate":1038000,
      			"multiprocessorCount":16,
      			"totalMemory":8513257472,
      			"coreCount":2048,
      			"isCUDANVCUVIDAvailable":true,
      			"isCUDAH264EncodeAvailable":true,
      			"isCUDAH265EncodeAvailable":true,
      			"getCUDANVENCVersion":5
      			}
      	]
      	},
      	"infoQuickSync":{
      		"availabe":true,
      		"availableFlags":523,
      		"versionMajor":1,
      		"versionMinor":16,
      		"isQuickSyncH264EncodeAvailable":true,
      		"isQuickSyncH265EncodeAvailable":false,
      		"isQuickSyncVP8EncodeAvailable":false,
      		"isQuickSyncVP9EncodeAvailable":false,
      		"isQuickSyncH264DecodeAvailable":true,
      		"isQuickSyncH265DecodeAvailable":false,
      		"isQuickSyncMP2DecodeAvailable":true,
      		"isQuickSyncVP8DecodeAvailable":false,
      		"isQuickSyncVP9DecodeAvailable":false
      	},
      	"infoVAAPI":{
      		"available":false
      	},
      	"infoX264":{
      		"available":false
      	},
      	"infoX265":{
      		"available":false
      	}
      }

    Originally Published: 10-08-2011.
    Updated: For Wowza Streaming Engine 4.5.0.01 on 08-25-2016.

    If you're having problems or want to discuss this article, post in our forum.