Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FFMPEG hevc_nvenc "No NVENC capable devices found" with NVidia GTX950M

I get the error "No NVENC capable devices found" when trying a simple encoding like this, even skipping audio to make sure it's not an audio problem:

ffmpeg.exe -i input.mp4 -c:v hevc_nvenc -an out.mp4

I also tried with more details, like setting the pixel format, the preset, the rate-control, the format.

On the documentation page there: https://trac.ffmpeg.org/wiki/HWAccelIntro it says that if we get this error we should check for the pixel format. The video has yuv420p here and even specifying the format results in the same error.

i also checked the NVidia supported cards and it says GeForce, but no details about the models: https://developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder

I tried h264_nvenc and it works perfectly however, the problem is only with hevc_nvenc Has anyone encountered this problem?

Complete console output:

[h264 @ 0000000002534560] Reinit context to 1280x544, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2014-05-23T13:04:15.000000Z
  Duration: 01:54:03.95, start: 0.000000, bitrate: 3193 kb/s
    Stream #0:0(und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(left), 1280x544 [SAR 1:1 DAR 40:17], 2750 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2014-05-23T11:25:27.000000Z
    Stream #0:1(spa): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 439 kb/s (default)
    Metadata:
      creation_time   : 2014-05-23T12:56:43.000000Z
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_nvenc))
Press [q] to stop, [?] for help
[h264 @ 000000000260ea40] Reinit context to 1280x544, pix_fmt: yuv420p
[graph 0 input from stream 0:0 @ 0000000003857ec0] w:1280 h:544 pixfmt:yuv420p tb:1/24000 fr:24000/1001 sar:1/1 sws_param:flags=2
[hevc_nvenc @ 00000000038574e0] Loaded Nvenc version 8.0
[hevc_nvenc @ 00000000038574e0] Nvenc initialized successfully
[hevc_nvenc @ 00000000038574e0] 1 CUDA capable devices found
[hevc_nvenc @ 00000000038574e0] [ GPU #0 - < GeForce GTX 950M > has Compute SM 5.0 ]
[hevc_nvenc @ 00000000038574e0] Codec not supported
[hevc_nvenc @ 00000000038574e0] No NVENC capable devices found
[hevc_nvenc @ 00000000038574e0] 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!
like image 768
NaturalBornCamper Avatar asked May 13 '17 02:05

NaturalBornCamper


1 Answers

950M doesn't support h265 codec indeed.

From nvidia nvenc page or the detailed support matrix, we can learn that h265/hevc is supported only from 2nd generation maxwell GPU.

Also check the maxwell wiki page and list of NVIDIA GPU. You can see that 950M's code name is GM107 which is a 1st generation maxwell architecture, that means no h265 support. Sorry, you have to fall back to h264.

like image 92
halfelf Avatar answered Nov 04 '22 05:11

halfelf