FFMPEG hevc_nvenc Устройства с поддержкой NVENC с NVidia GTX950M не найдены

Я получаю сообщение об ошибке «Устройства с поддержкой NVENC не найдены» при попытке простого кодирования, подобного этому, даже пропуская звук, чтобы убедиться, что это не проблема со звуком:

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

Я также попытался добавить больше деталей, таких как установка формата пикселей, предустановка, контроль скорости, формат.

На странице документации: https://trac.ffmpeg.org/wiki/HWAccelIntro написано что если мы получим эту ошибку, мы должны проверить формат пикселей. У видео здесь юв420р и даже указание формата приводит к той же ошибке.

я также проверил карты, поддерживаемые 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!

person NaturalBornCamper    schedule 13.05.2017    source источник


Ответы (1)


950M действительно не поддерживает кодек h265.

На странице nvidia nvenc или на подробную матрицу поддержки, мы можем узнать, что h265/hevc поддерживается только графическим процессором maxwell 2-го поколения.

Также проверьте вики-страницу maxwell и список графических процессоров NVIDIA. Вы можете видеть, что кодовое имя 950M — GM107, что является архитектурой maxwell 1-го поколения, что означает отсутствие поддержки h265. Извините, вам придется вернуться к h264.

person halfelf    schedule 13.05.2017
comment
Ух ты! Отдельное спасибо за все ссылки о том, как вы нашли ответ, это очень полезно, друг! И я чуть не купил компьютер с GTX960, поддерживающим HEVC... Хотел бы я увидеть это раньше - person NaturalBornCamper; 13.05.2017
comment
У меня GT 750M, так что я думаю, он тоже не поддерживает x265_NVENC, но есть ли обходной путь? Я пытаюсь закодировать небольшой файл размером 200 МБ. - person himanshuxd; 29.09.2019
comment
@himanshuxd Нет, для этого нет аппаратного обеспечения. В основном вам нужен аппаратный декодер на графическом процессоре, который является встроенным независимым устройством. Если вам нужен более быстрый кодировщик, попробуйте Intel QSV или решение cuda, если оно есть. - person halfelf; 07.10.2019
comment
@halfelf Ах, я попытался преобразовать видео .mkv размером ~ 250 МБ с помощью ImToo Video Converter Ultimate (после включения CUDA и всех 4 ядер ЦП) в h.265, конечный результат был вроде в порядке при воспроизведении без паузы, но проблема в том, что видеофайл не доступен для поиска, видео сильно прерывается. Думаю, нам нужно лучшее оборудование для идеального преобразования в x265. - person himanshuxd; 10.12.2019