Check FFmpeg Hardware Acceleration Methods in Windows
This guide provides a straightforward method to identify the hardware acceleration technologies supported by your FFmpeg installation on Windows. You will learn the exact command-line arguments needed to query your system’s GPU capabilities, enabling faster video encoding, decoding, and transcoding processes.
Step 1: Open the Command Prompt
To begin, open the Windows Command Prompt or PowerShell. You can do
this by pressing the Windows Key, typing cmd
or powershell, and pressing Enter.
Step 2: List Enabled Hardware Accelerators
Enter the following command to list all hardware acceleration methods compiled into your FFmpeg build and supported by your operating system:
ffmpeg -hwaccelsThis command will output a list of available acceleration APIs. On a Windows system with a dedicated or integrated GPU, you will typically see one or more of the following:
- dxva2: DirectX Video Acceleration 2 (broadly supported on older and modern Windows systems).
- d3d11va: Direct3D11 Video Acceleration (the modern Windows standard).
- cuda / nvdec / nvenc: NVIDIA proprietary hardware acceleration.
- qsv: Intel Quick Sync Video.
- amf: AMD Advanced Media Framework.
Step 3: Check for Specific Hardware Encoders and Decoders
While listing the hardware acceleration methods tells you what APIs are available, you must also verify if the specific hardware-accelerated codecs (like H.264 or HEVC) are supported by your FFmpeg binary.
To search for available hardware-accelerated decoders, run:
ffmpeg -decoders | findstr /I "cuda nvdec qsv dxva2 d3d11va"To search for available hardware-accelerated encoders, run:
ffmpeg -encoders | findstr /I "nvenc qsv amf"The output will display the specific codec names (for example,
h264_nvenc for NVIDIA or h264_qsv for Intel
Quick Sync) that you can use in your FFmpeg commands to offload
processing to your GPU.