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

14,114

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.

Share:
14,114
NaturalBornCamper
Author by

NaturalBornCamper

I didn't become and engineer while working two jobs thus missing class by accident. I am extremely good at self education, reading from manuals and learning fast what other people teach me. And best of all, I LOVE learning, just about everything possible, I feel like my brain is never too much filled. I am also very good on the field, to improvise when I need to and can keep my calm in precarious situations, which also makes me a good team leader. However I know my place and when it is time to follow orders from somebody with more experience, or because it is their job.

Updated on August 09, 2022

Comments

  • NaturalBornCamper
    NaturalBornCamper almost 2 years

    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!
    
  • NaturalBornCamper
    NaturalBornCamper about 7 years
    Oh wow! Extra thanks for all the links on how you found the answer, this is extra useful friend! And I almost bought the computer with the GTX960 that supported HEVC... Wish I had seen this before
  • himanshuxd
    himanshuxd over 4 years
    Mine is GT 750M so it doesn't support x265_NVENC either I guess, but is there a work around to this ? I'm trying to encode a small 200 Mb file.
  • halfelf
    halfelf over 4 years
    @himanshuxd No, there is no hardware supporting for this. Basically you need a hardware decoder on GPU, which is an embedded independent unit. If you need a faster encoder, try Intel QSV, or cuda solution if any.
  • himanshuxd
    himanshuxd over 4 years
    @halfelf Ah I tried converting a ~250 Mb .mkv video with ImToo Video converter Ultimate (after enabling CUDA and all 4 CPU cores) into h.265 the end result was kind of okay while playing without a pause, but the problem is that the video file is not seek-able the video gets badly disrupted. Guess we do need better hardware for perfect conversion to x265.