- The FFmpeg commands used for each type of hardware in “Encode-Performance” are:
- Nvidia GPU with CUVID Acceleration: Utilizes Nvidia’s CUVID for hardware acceleration in decoding and NVENC for encoding.
- Command: ffmpeg -y -hwaccel cuvid -i input_video.mkv -c:v h264_nvenc -preset fast -c:a copy output_video.mp4
- Nvidia GPU with CUDA Acceleration: Leverages CUDA for hardware acceleration, with NVENC for encoding, tailored for Nvidia GPUs.
- Command: ffmpeg -y -hwaccel cuda -i input_video.mkv -c:v h264_nvenc -preset fast -c:a copy output_video.mp4
- AMD GPU Acceleration: Harnesses AMD’s hardware acceleration via AMF (Advanced Media Framework), specifically for AMD GPUs.
- Command: ffmpeg -y -hwaccel dxva2 -i input_video.mkv -c:v h264_amf -preset faster -c:a copy output_video.mp4
- Intel GPU Acceleration: Uses Intel’s Quick Sync Video (QSV) for hardware acceleration, designed for Intel integrated GPUs.
- Command: ffmpeg -y -hwaccel qsv -i input_video.mkv -c:v h264_qsv -preset fast -c:a copy output_video.mp4
- CPU-Based Encoding: For CPU-based encoding, utilizing the x264 software encoder, without GPU-based hardware acceleration.
- Command: ffmpeg -y -i input_video.mkv -c:v libx264 -preset fast -c:a copy output_video.mp4
- “certain videos, like those in 10-bit, cannot be encoded using h264_nvenc and require hevc_nvenc instead.
- NVIDIA Encode/Decode Supported Formats https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
NVIDIA NVENC (Encoder) Support by Series
| Series | NVENC Generation | Number of NVENC Units per Chip |
|---|---|---|
| 7xx Series | 4th Generation NVENC | 1 |
| 9xx Series | 5th Generation NVENC | GTX 960 and below: 1 GTX 965M and above: 2 |
| 10xx Series | 6th Generation NVENC | GTX 1050 & 1060: 1 GTX 1070 & above: 2 |
| 16xx Series | 6th/7th Generation NVENC | 1 |
| 20xx Series | 7th Generation NVENC | 1 |
| 30xx Series | 7th Generation NVENC | 1 |
| 40xx Series | 8th Generation NVENC | RTX 4070 & below: 1 RTX 4070 Ti & above: 2 |
| 50xx Series | 9th Generation NVENC | RTX 5070: 1 RTX 5070 Ti & RTX 5080: 2 RTX 5090: 3 |
NVIDIA NVDEC (Decoder) Support by Series
| Series | NVDEC Generation | Number of NVDEC Units per Chip |
|---|---|---|
| 7xx Series | 1st Generation NVDEC | 1 |
| 9xx Series | 2nd Generation NVDEC | GTX 750 / 950 / 960: 1 GTX 965M & above: 1 |
| 10xx Series | 3rd Generation NVDEC | 1 |
| 16xx Series | 4th Generation NVDEC | GTX 1630 & above: 1 |
| 20xx Series | 4th Generation NVDEC | 1 |
| 30xx Series | 5th Generation NVDEC | 1 |
| 40xx Series | 5th Generation NVDEC | 1 |
| 50xx Series | 6th Generation NVDEC | RTX 5070 & 5070 Ti: 1 RTX 5080 & RTX 5090: 2 |
AMD Video Encode Support (VCE/VCN)
| Series | Encode Generation |
|---|---|
| Radeon HD 7000 Series | VCE 1.0 |
| Radeon HD 7790, R9/R7 200 Series | VCE 2.0 |
| Radeon RX 400/500 Series | VCE 3.0 |
| Radeon RX Vega Series | VCE 4.0 |
| Radeon VII, RX Vega, Some Ryzen APUs | VCN 1.0 |
| Radeon RX 5000 Series (Navi 10 and 14) | VCN 2.0 |
| Radeon RX 6000 Series (Navi 2x) | VCN 3.0 |
| Radeon RX 7000 Series (Navi 3x) | VCN 4.0 |
AMD Video Decode Support (UVD/VCN)
| Series | Decode Generation |
|---|---|
| Radeon HD 5000 to 6000 Series | UVD 2.x – 3.x |
| Radeon HD 7000 to R9 200/300 Series | UVD 4.x – 6.x |
| Radeon RX 400/500 Series | UVD 6.x |
| Radeon RX Vega Series and Radeon VII | VCN 1.0 |
| Radeon RX 5000 Series (Navi 10 and 14) | VCN 2.0 |
| Radeon RX 6000 Series (Navi 2x) | VCN 3.0 |
| Radeon RX 7000 Series (Navi 3x) | VCN 4.0 |
![]()