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

2024-01-20 Thread twl
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

2023-11-18 Thread Sebastian Ramacher
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

2023-11-17 Thread Brian Bostwick
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.