Intel Quick Sync Video

Wowza Streaming Engine supports Intel Quick Sync Video (IQSV) hardware-accelerated encoding and decoding. IQSV supports H.264 and H.265 transcoding on Intel processors with an integrated GPU. It is based on Intel’s oneVPL and replaces the earlier QuickSync implementation in Wowza Streaming Engine (WSE). (The previous QuickSync implementation remains available under the name Legacy QuickSync.)

IQSV detects available adapters and drivers at runtime. If no compatible Intel GPU or driver is present, the transcoder will fall back to software processing and log the reason and driver information.

Support for IQSV was added with the release of WSE 4.12. If you are using an earlier version, we recommend upgrading to the latest version of Wowza Streaming Engine to avoid falling back to CPU-intensive software encoding and decoding.

Support requirements

IQSV supports H.264 and H.265 encoding and decoding. H.265 10-bit (Main10) encoding and decoding requires Kaby Lake or newer. Skylake HEVC hardware only supports 8-bit encoding.

IQSV requires an Intel media driver:

  • Linux: The Intel iHD driver (libmfx-gen / oneVPL), version 20.4.5+
  • Windows: The in-box Intel graphics driver.

Limitations

Hosts that do not meet the driver requirement will automatically fall back to software transcoding. The following cases will automatically fallback to software processing.

  • An i965 driver or earlier
  • IQSV-accelerated scaling 

Mixed-vendor templates

Mixed-vendor templates are supported, meaning IQSV can be combined with NVIDIA acceleration within the same pipeline. For example, IQSV decode paired with NVENC encode, or NVCUVID decode paired with IQSV encode.

Note: IQSV cannot be combined with Legacy QuickSync decoding or encoding.

Configuration guide

IQSV can be added to a transcoder template in WSE Manager or by directly editing the transcoder template's configuration file.

IQSV does not offer an accelerated scaler. Set the scaling implementation to Default; the IQSV pipeline uses the software scaler.

Enable IQSV in WSE Manager

Follow the steps below to configure IQSV encoding and decoding on a transcoding template. 

  1. Open WSE Manager.
  2. Select the Server tab.
  3. In the contents panel, click Transcoder.
  4. Click + Add Template or click on the name of an existing template.
  5. In the Hardware Presets dropdown, select Set IQSV.
  6. All apps using this transcoder template will now use IQSV encoding, default scaling, and IQSV decoding.

Configure IQSV in the template file

Follow the steps below to update an existing transcoder template to use IQSV encoding or decoding.

  1. Open the template file in the [install-dir]/transcoder/templates directory.
  2. Add the appropriate XML snippet, as shown in the examples below.
<!-- Add IQSV video encoding -->
<!-- One <Encode> block per rendition -->

<Encode>
    <Enable>true</Enable>
    <Name>1080p</Name>
    <Video>
        <!-- (or H.265) -->
        <Codec>H.264</Codec>
        <Implementation>IQSV</Implementation>
    </Video>
</Encode>

<!-- Add IQSV video decoding-->
<Decode>
    <Video>
        <Implementation>IQSV</Implementation>
    </Video>
</Decode>