I have NVIDIA Driver 410.48
root@ubuntu:/opt/ffmpeg# nvidia-smi
Thu Nov 15 21:39:26 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.48 Driver Version: 410.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 P4000 Off | 00000000:02:00.0 Off | N/A |
| 46% 24C P8 5W / 105W | 10MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Quadro P4000 Off | 00000000:06:00.0 Off | N/A |
| 47% 41C P0 29W / 105W | 10MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 Quadro P4000 Off | 00000000:82:00.0 Off | N/A |
| 46% 35C P0 27W / 105W | 10MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
But when running ffmpeg transcoding using Nvenc API, I got error which says “The minimum required Nvidia driver for nvenc is 390.25 or newer”
root@ubuntu:/opt/ffmpeg# ./ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i sample1080.mp4 -vf scale_npp=1280:720 -vcodec h264_nvenc sample720.mp4
ffmpeg version N-92446-g1342ec5 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
libavutil 56. 23.101 / 56. 23.101
libavcodec 58. 39.100 / 58. 39.100
libavformat 58. 22.100 / 58. 22.100
libavdevice 58. 6.100 / 58. 6.100
libavfilter 7. 43.100 / 7. 43.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample1080.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.68.100
Duration: 00:10:59.24, start: 0.000000, bitrate: 3153 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 3049 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_nvenc @ 0x2db7fc0] Driver does not support the required nvenc API version. Required: 8.2 Found: 8.1
[h264_nvenc @ 0x2db7fc0] The minimum required Nvidia driver for nvenc is 390.25 or newer
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x2d5da00] Qavg: 65536.000
[aac @ 0x2d5da00] 2 frames left in the queue on closing
Conversion failed!
Any suggestion ?
Thanks you.
Try installing the latest driver for your GPUs.
410.48 is not the latest.
I have managed to install NVIDIA Driver 415.13 which is the latest I found in ubuntu ppa graphic drivers (Proprietary GPU Drivers : “Graphics Drivers” team). Is this the latest ? I still get same error on this 415.13 version. So strange because it said that the minimum required Nvidia driver for nvenc is just 390.25.
root@ubuntu:/opt/ffmpeg# nvidia-smi
Fri Nov 16 00:06:59 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 415.13 Driver Version: 415.13 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| 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 P4000 Off | 00000000:02:00.0 Off | N/A |
| 46% 35C P0 28W / 105W | 10MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Quadro P4000 Off | 00000000:06:00.0 Off | N/A |
| 46% 40C P0 28W / 105W | 10MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 Quadro P4000 Off | 00000000:82:00.0 Off | N/A |
| 46% 34C P0 27W / 105W | 10MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
root@ubuntu:/opt/ffmpeg#
root@ubuntu:/opt/ffmpeg# ./ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i sample1080.mp4 -vf scale_npp=1280:720 -vcodec h264_nvenc sample720.mp4
ffmpeg version N-92446-g1342ec5 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
libavutil 56. 23.101 / 56. 23.101
libavcodec 58. 39.100 / 58. 39.100
libavformat 58. 22.100 / 58. 22.100
libavdevice 58. 6.100 / 58. 6.100
libavfilter 7. 43.100 / 7. 43.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample1080.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.68.100
Duration: 00:10:59.24, start: 0.000000, bitrate: 3153 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 3049 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_nvenc @ 0x3fdffc0] Driver does not support the required nvenc API version. Required: 8.2 Found: 8.1
[h264_nvenc @ 0x3fdffc0] The minimum required Nvidia driver for nvenc is 390.25 or newer
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x3f85a00] Qavg: 65536.000
[aac @ 0x3f85a00] 2 frames left in the queue on closing
Conversion failed!
root@ubuntu:/opt/ffmpeg#
I have the same problem!
[h264_nvenc @ 0x56009062d6c0] Driver does not support the required nvenc API version. Required: 8.2 Found: 8.1
[h264_nvenc @ 0x56009062d6c0] The minimum required Nvidia driver for nvenc is 390.25 or newer
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.73 Driver Version: 410.73 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| 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 P2000 Off | 00000000:01:00.0 Off | N/A |
| 58% 32C P0 17W / 75W | 0MiB / 5057MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
Problem solved: recompile ffmpeg using older version.
Worked with ffmpeg 3.4, NVIDIA Driver 415.13.
Thx. With 3.4.5 it is working.
Older ffmpeg doesn’t use nvENC API version 8.2, that’s why it works. I have the same issue with ffmpeg 4.1, latest nv-codec-headers and Linux driver 410.73. If I compile ffmpeg with nv-codec-headers from sdk/8.1 head, of course it works.
Any hint?