[FFmpeg-user] nvenc on GT1030

Piergiorgio Sartor piergiorgio.sartor at nexgo.de
Fri Mar 23 23:37:12 EET 2018


Hi all,

I've recently got a Nvidia GT1030 graphic card,
which should be Pascal generation, supporting
HEVC encoding.

The system is Fedora 27, up to date, with
official Nvidia driver and CUDA libraries form
rpmfusion repository.
Also ffmpeg is from there.

Now, I'm trying to encode an h264 video into HEVC,
but ffmpeg complains the device is not nvenc capable.

Command line:

ffmpeg -loglevel 40 -i input.mp4 -c:a copy -c:v hevc_nvenc -profile:v main -preset slow -y test.mp4

Result:

--- --- ---

ffmpeg version 3.3.6 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7 (GCC)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags='-I/usr/include/nvenc ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
[h264 @ 0x556c2f685a80] Reinit context to 720x400, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2018-03-10T08:16:57.000000Z
    encoder         : Lavf57.83.100
  Duration: 00:28:06.40, start: 0.000000, bitrate: 1131 kb/s
    Stream #0:0(und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(left), 720x400 [SAR 80:81 DAR 16:9], 995 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2018-03-10T08:16:57.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2018-03-10T08:16:57.000000Z
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_nvenc))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264 @ 0x556c2f7eee20] Reinit context to 720x400, pix_fmt: yuv420p
[graph 0 input from stream 0:0 @ 0x556c2f7f3500] w:720 h:400 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:80/81 sws_param:flags=2
[hevc_nvenc @ 0x556c2f967560] Loaded Nvenc version 8.1
[hevc_nvenc @ 0x556c2f967560] Nvenc initialized successfully
[hevc_nvenc @ 0x556c2f967560] 1 CUDA capable devices found
[hevc_nvenc @ 0x556c2f967560] [ GPU #0 - < GeForce GT 1030 > has Compute SM 6.1 ]
[hevc_nvenc @ 0x556c2f967560] OpenEncodeSessionEx failed: unsupported device (2)
[hevc_nvenc @ 0x556c2f967560] No NVENC capable devices found
[hevc_nvenc @ 0x556c2f967560] Nvenc unloaded
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
Conversion failed!

--- --- ---

Now, using "h264_nvenc" returns the same...

Somewhere someone mentioned an Intel CPU with QSV
is required to run the nvenc codec, which seems
strange to me
The CPU here is an AMD Opteron 3350 HE.

Any idea?
Suggestions?

Thanks a lot in advance,

bye,

-- 

piergiorgio


More information about the ffmpeg-user mailing list