For what it is worth, I had a Quadro K2200 that I tested with FFMPEG using the following command:
ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output.mp4
I ran 7 simultaneous encodes on a GoPro file that with these stats:
Stream #0:0(eng): Video: h264 (h264_nvenc) (Main) ([33][0][0][0] / 0x0021), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 23.98 fps, 24k tbn, 23.98 tbc (default)
When I started the first process, the speed was about 1.5x, but after starting 7 processes it dropped to 0.581x. Using the program “htop” I can see that I am not maxing out any CPU process:
1 [###### 11.9%] 9 [##########* 23.5%] 17 [####### 15.1%] 25 [######### 19.1%]
2 [#####################* 49.7%] 10 [##################* 43.4%] 18 [########## 23.2%] 26 [ 0.0%]
3 [###########* 25.0%] 11 [####### 14.6%] 19 [##### 11.3%] 27 [#### 7.3%]
4 [########## 23.2%] 12 [############ 27.2%] 20 [##########* 22.4%] 28 [###### 13.8%]
5 [##### 11.8%] 13 [############ 26.5%] 21 [ 0.0%] 29 [## 4.6%]
6 [#################* 40.8%] 14 [###############* 34.9%] 22 [#### 7.9%] 30 [######### 19.7%]
7 [#########* 19.9%] 15 [#### 9.2%] 23 [######## 17.1%] 31 [##############* 32.7%]
8 [############* 27.6%] 16 [################# 38.4%] 24 [### 6.6%] 32 [######### 20.4%]
Mem[|||||||#* 10.7G/157G] Tasks: 48, 149 thr; 9 running
Swp[ 0K/4.00G] Load average: 4.56 2.79 1.20
Uptime: 17:37:29
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
23970 root 20 0 173G 1360M 885M S 97.0 0.8 2:12.86 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output5.mp4
23894 root 20 0 173G 1362M 885M R 97.0 0.8 3:33.77 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output2.mp4
23874 root 20 0 173G 1362M 885M R 94.3 0.8 3:40.42 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output1.mp4
24004 root 20 0 173G 1359M 885M R 93.7 0.8 2:09.87 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output6.mp4
23914 root 20 0 173G 1362M 885M S 90.4 0.8 3:24.82 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output3.mp4
23934 root 20 0 173G 1362M 885M S 89.1 0.8 3:27.35 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output4.mp4
23798 root 20 0 173G 1370M 885M S 87.7 0.9 6:44.86 ffmpeg -i GOPR0012.MP4 -c:v h264_nvenc output.mp4
And nvidia-smi shows the following:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48 Driver Version: 367.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K2200 Off | 0000:42:00.0 Off | N/A |
| 45% 60C P0 7W / 39W | 3965MiB / 4041MiB | 20% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 23798 C ffmpeg 565MiB |
| 0 23874 C ffmpeg 565MiB |
| 0 23894 C ffmpeg 565MiB |
| 0 23914 C ffmpeg 565MiB |
| 0 23934 C ffmpeg 565MiB |
| 0 23970 C ffmpeg 565MiB |
| 0 24004 C ffmpeg 565MiB |
+-----------------------------------------------------------------------------+
I tried to start another encode, but ran out of memory on the card. If you aren’t doing 4K video, you could start more simultaneously as they take less memory per process. I also have a Grid M40 (which was a purchasing mistake: https://devtalk.nvidia.com/default/topic/976633/nvidia-gtx-960-to-grid-m40-upgrade-doesn-t-work-/#5018751) I will run some tests using it just for fun and let you know what happens.
FYI, the computer I am running it on is a Dell R720xd with 160GB RAM and dual Xeon 8 core 2.9Ghz on a RAID 1 10,000RPM (2 drives).
Running ffmpeg using the codec libx264 gives me an output speed of around 0.755x, so the GPU is definitely a great addition, but if you want h.265 / HEVC make sure you get a 2nd gen maxwell card.