Bug#1056141: nvenc encoder not available after installing libnvidia-encode1 and enabling ffnvcodec
On Sat, 18 Nov 2023 21:25:36 +0100 Sebastian Ramacher wrote: > Control: tags -1 moreinfo > > On 2023-11-17 11:20:11 -0500, Brian Bostwick wrote: > > 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 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 | :01:00.0 On | N/A | | 0% 40C P5 20W / 170W | 10083MiB / 12288MiB | 16% Default | | | | N/A | +---+--+--+
Bug#1056141: nvenc encoder not available after installing libnvidia-encode1 and enabling ffnvcodec
Control: tags -1 moreinfo On 2023-11-17 11:20:11 -0500, Brian Bostwick wrote: > 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. 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 libavformat60. 16.100 / 60. 16.100 libavdevice60. 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 libpostproc57. 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
Bug#1056141: nvenc encoder not available after installing libnvidia-encode1 and enabling ffnvcodec
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.