【问题标题】:FFMPEG hevc_nvenc "No NVENC capable devices found" with NVidia GTX950MNVidia GTX950M 的 FFMPEG hevc_nvenc“未找到支持 NVENC 的设备”
【发布时间】:2017-10-12 10:09:27
【问题描述】:

我在尝试这样的简单编码时收到错误“未找到支持 NVENC 的设备”,甚至跳过音频以确保它不是音频问题:

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

我还尝试了更多细节,比如设置像素格式、预设、速率控制、格式。

在文档页面上: https://trac.ffmpeg.org/wiki/HWAccelIntro 它说如果我们得到这个错误,我们应该检查像素格式。视频在这里有 yuv420p,甚至指定格式也会导致同样的错误。

我还检查了 NVidia 支持的显卡,上面写着 GeForce,但没有关于型号的详细信息: https://developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder

我尝试了 h264_nvenc,但效果很好,但问题仅在于 hevc_nvenc 有人遇到过这个问题吗?

完整的控制台输出:

[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!

【问题讨论】:

    标签: ffmpeg hevc h.265 nvenc


    【解决方案1】:

    950M 确实不支持 h265 编解码器。

    nvidia nvenc pagethe detailed support matrix 可以得知,只有第二代maxwell GPU 才支持h265/hevc。

    同时检查maxwell wiki pagelist of NVIDIA GPU。可以看到950M的代号GM107是第一代maxwell架构,也就是说不支持h265。抱歉,您必须退回到 h264。

    【讨论】:

    • 哇哦!非常感谢您找到答案的所有链接,这是非常有用的朋友!我差点买了支持 HEVC 的 GTX960 电脑……真希望我以前见过这个
    • 我的是 GT 750M,所以我猜它也不支持 x265_NVENC,但是有解决办法吗?我正在尝试编码一个 200 Mb 的小文件。
    • @himanshuxd 不,没有硬件支持。基本上你需要一个 GPU 上的硬件解码器,它是一个嵌入式独立单元。如果您需要更快的编码器,请尝试英特尔 QSV 或 cuda 解决方案(如果有)。
    • @halfelf 啊,我尝试使用 ImToo Video Converter Ultimate(启用 CUDA 和所有 4 个 CPU 内核后)将 ~250 Mb .mkv 视频转换为 h.265,最终结果在没有播放的情况下还可以暂停,但问题是视频文件不可搜索,视频被严重破坏。猜想我们确实需要更好的硬件来完美转换到 x265。
    猜你喜欢
    • 1970-01-01
    • 2017-10-22
    • 2021-10-24
    • 2019-02-03
    • 2020-05-10
    • 2012-10-31
    • 1970-01-01
    • 2023-01-04
    • 2019-11-21
    相关资源
    最近更新 更多