Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1056141: nvenc encoder not available after installing libnvidia-encode1 and enabling ffnvcodec

44 views
Skip to first unread message

Brian Bostwick

unread,
Nov 17, 2023, 11:30:05 AM11/17/23
to
Package: ffmpeg
Version: 7:6.1-2

Hi in Trixie, using nvidia-driver 525.125.06-2, libnvidia-encode1 525.125.06-2, and ffmpeg 7:6.1-2, I can't seem to get the nvenc codec built into ffmpeg.

$ ffmpeg -codecs | grep 264
H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_qsv h264_cuvid ) (encoders: libx264 libx264rgb h264_omx h264_qsv h264_v4l2m2m h264_vaapi )

These are the additional enable flags I added to the debian/rules file:

--enable-nonfree \
--enable-cuda-llvm \
--enable-ffnvcodec

Full build configuration:

  configuration:
    --prefix=/usr
    --extra-version=9
    --toolchain=hardened
    --libdir=/usr/lib/x86_64-linux-gnu
    --incdir=/usr/include/x86_64-linux-gnu
    --arch=amd64
    --enable-gpl
    --disable-stripping
    --enable-gnutls
    --enable-ladspa
    --enable-libaom
    --enable-libass
    --enable-libbluray
    --enable-libbs2b
    --enable-libcaca
    --enable-libcdio
    --enable-libcodec2
    --enable-libdav1d
    --enable-libflite
    --enable-libfontconfig
    --enable-libfreetype
    --enable-libfribidi
    --enable-libglslang
    --enable-libgme
    --enable-libgsm
    --enable-libjack
    --enable-libmp3lame
    --enable-libmysofa
    --enable-libopenjpeg
    --enable-libopenmpt
    --enable-libopus
    --enable-libpulse
    --enable-librabbitmq
    --enable-librist
    --enable-librubberband
    --enable-libshine
    --enable-libsnappy
    --enable-libsoxr
    --enable-libspeex
    --enable-libsrt
    --enable-libssh
    --enable-libtheora
    --enable-libtwolame
    --enable-libvidstab
    --enable-libvorbis
    --enable-libvpx
    --enable-libwebp
    --enable-libx265
    --enable-libxml2
    --enable-libxvid
    --enable-libzimg
    --enable-libzmq
    --enable-libzvbi
    --enable-lv2
    --enable-omx
    --enable-openal
    --enable-opencl
    --enable-opengl
    --enable-sdl2
    --enable-nonfree
    --enable-cuda-llvm
    --enable-ffnvcodec
    --disable-sndio
    --enable-libjxl
    --enable-pocketsphinx
    --enable-librsvg
    --enable-libvpl
    --disable-libmfx
    --enable-libdc1394
    --enable-libdrm
    --enable-libiec61883
    --enable-chromaprint
    --enable-frei0r
    --enable-libsvtav1
    --enable-libx264
    --enable-libplacebo
    --enable-librav1e
    --enable-shared

After being built I just installed the ffmpeg and libavcodec debs.

$ dpkg -i': sudo dpkg -i ffmpeg_6.0-9_amd64.deb libavcodec60_6.0-9_amd64.deb libavcodec-extra*
I originally had the proprietary driver installed via the vendor's script, but it has since been removed.
My goal is to have nvenc appear as an option in OBS, which depends on ffmpeg to have the codec available.

Sebastian Ramacher

unread,
Nov 18, 2023, 3:30:05 PM11/18/23
to
Control: tags -1 moreinfo
It is, though:

$ ffmpeg -codecs | grep nvenc
ffmpeg version 6.1-2 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13 (Debian 13.2.0-6)
configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libsvtav1 --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
DEV.L. av1 Alliance for Open Media AV1 (decoders: libdav1d libaom-av1 av1 av1_cuvid av1_qsv) (encoders: libaom-av1 librav1e libsvtav1 av1_nvenc av1_qsv av1_vaapi)
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_qsv h264_cuvid) (encoders: libx264 libx264rgb h264_nvenc h264_omx h264_qsv h264_v4l2m2m h264_vaapi)
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv hevc_v4l2m2m hevc_cuvid) (encoders: libx265 hevc_nvenc hevc_qsv hevc_v4l2m2m hevc_vaapi)

Can you please expand on the issue you are seeing or what you are trying
to achieve?

Cheers
--
Sebastian Ramacher

twl

unread,
Jan 20, 2024, 11:50:07 AM1/20/24
to
I am also having this issue on debian sid. I have the nvenc codecs
available but it wants cuda version 12.1 when debian only supplies 12.0

$ ffmpeg -codecs | grep nvenc
 DEV.L. av1                  Alliance for Open Media AV1 (decoders:
libdav1d libaom-av1 av1 av1_cuvid av1_qsv) (encoders: libaom-av1
librav1e libsvtav1 av1_nvenc av1_qsv av1_vaapi)
 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
(decoders: h264 h264_v4l2m2m h264_qsv h264_cuvid) (encoders: libx264
libx264rgb h264_nvenc h264_omx h264_qsv h264_v4l2m2m h264_vaapi)
 DEV.L. hevc                 H.265 / HEVC (High Efficiency Video
Coding) (decoders: hevc hevc_qsv hevc_v4l2m2m hevc_cuvid) (encoders:
libx265 hevc_nvenc hevc_qsv hevc_v4l2m2m hevc_vaapi)

$ ffmpeg -i example.webm -c:v h264_nvenc example.mp4

[h264_nvenc @ 0x5639a5107e80] Driver does not support the required nvenc
API version. Required: 12.1 Found: 12.0
[h264_nvenc @ 0x5639a5107e80] The minimum required Nvidia driver for
nvenc is (unknown) or newer
[vost#0:0/h264_nvenc @ 0x5639a510b900] Error while opening encoder -
maybe incorrect parameters such as bit_rate, rate, width or height.
Error while filtering: Function not implemented
[out#0/mp4 @ 0x5639a5098580] Nothing was written into output file,
because at least one of its streams received no packets.

$ nvidia-smi

Sat Jan 20 10:37:18 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version:
12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile
Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util
Compute M. |
|                               | |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0  On
|                  N/A |
|  0%   40C    P5    20W / 170W |  10083MiB / 12288MiB | 16%      Default |
|                               | |                  N/A |
+-------------------------------+----------------------+----------------------+
0 new messages