[packman] issue with ffmpeg 4.4 for leap. no NVENC

Patrick Finie mirppc at gmail.com
Wed Sep 15 00:14:17 CEST 2021


So i am having an issue with nvenc on my leap 15.3 machines with obs-studio
and handbrake failing to work with nvenc.  I checked if the nvenc flags
where added to ffmpeg for leap and found that it is missing.

 ffmpeg -h encoder=h264_nvenc
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 7 (SUSE Linux)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--incdir=/usr/include/ffmpeg --extra-cflags='-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -g' --optflags='-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -g' --disable-htmlpages --enable-pic
--disable-stripping --enable-shared --disable-static --enable-gpl
--enable-version3 --disable-openssl --enable-avresample --enable-gnutls
--enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b
--enable-libcelt --enable-libcdio --enable-libdav1d --enable-libdc1394
--enable-libdrm --enable-libfontconfig --enable-libfreetype
--enable-libfribidi --enable-libgsm --enable-libjack --enable-libmp3lame
--enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse
--enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame
--enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libv4l2
--enable-libvpx --enable-libwebp --enable-libxml2 --enable-libzimg
--enable-libzvbi --enable-libmfx --enable-vaapi --enable-vdpau
--enable-version3 --enable-libfdk-aac-dlopen --enable-nonfree
--enable-libvo-amrwbenc --enable-libx264 --enable-libx265 --enable-librtmp
--enable-libxvid
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Codec 'h264_nvenc' is not recognized by FFmpeg.


What it looks like in tumbleweed (not my machine)

ffmpeg -h encoder=h264_nvenc
ffmpeg version 3.4.8 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 11 (SUSE Linux)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type -g' --optflags='-O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables
-fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type
-g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared
--disable-static --enable-gpl --disable-openssl --enable-avresample
--enable-libcdio --enable-gnutls --enable-ladspa --enable-libass
--enable-libbluray --enable-libcelt --enable-libcdio --enable-libdc1394
--enable-libfreetype --enable-libgsm --enable-libmp3lame
--enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex
--enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg
--enable-libzvbi --enable-vaapi --enable-vdpau --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-version3 --enable-libx264
--enable-libx265 --enable-libxvid
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:
    General capabilities: delay
    Threading capabilities: none
    Supported pixel formats: yuv420p nv12 p010le yuv444p yuv444p16le bgr0
rgb0 cuda
h264_nvenc AVOptions:
  -preset            <int>        E..V.... Set the encoding preset (from 0
to 11) (default medium)
     default                      E..V....
     slow                         E..V.... hq 2 passes
     medium                       E..V.... hq 1 pass
     fast                         E..V.... hp 1 pass
     hp                           E..V....
     hq                           E..V....
     bd                           E..V....
     ll                           E..V.... low latency
     llhq                         E..V.... low latency hq
     llhp                         E..V.... low latency hp
     lossless                     E..V....
     losslesshp                   E..V....
  -profile           <int>        E..V.... Set the encoding profile (from 0
to 3) (default main)
     baseline                     E..V....
     main                         E..V....
     high                         E..V....
     high444p                     E..V....
  -level             <int>        E..V.... Set the encoding level
restriction (from 0 to 51) (default auto)
     auto                         E..V....
     1                            E..V....
     1.0                          E..V....
     1b                           E..V....
     1.0b                         E..V....
     1.1                          E..V....
     1.2                          E..V....
     1.3                          E..V....
     2                            E..V....
     2.0                          E..V....
     2.1                          E..V....
     2.2                          E..V....
     3                            E..V....
     3.0                          E..V....
     3.1                          E..V....
     3.2                          E..V....
     4                            E..V....
     4.0                          E..V....
     4.1                          E..V....
     4.2                          E..V....
     5                            E..V....
     5.0                          E..V....
     5.1                          E..V....
  -rc                <int>        E..V.... Override the preset rate-control
(from -1 to INT_MAX) (default -1)
     constqp                      E..V.... Constant QP mode
     vbr                          E..V.... Variable bitrate mode
     cbr                          E..V.... Constant bitrate mode
     vbr_minqp                    E..V.... Variable bitrate mode with MinQP
(deprecated)
     ll_2pass_quality              E..V.... Multi-pass optimized for image
quality (deprecated)
     ll_2pass_size                E..V.... Multi-pass optimized for
constant frame size (deprecated)
     vbr_2pass                    E..V.... Multi-pass variable bitrate mode
(deprecated)
     cbr_ld_hq                    E..V.... Constant bitrate low delay high
quality mode
     cbr_hq                       E..V.... Constant bitrate high quality
mode
     vbr_hq                       E..V.... Variable bitrate high quality
mode
  -rc-lookahead      <int>        E..V.... Number of frames to look ahead
for rate-control (from 0 to INT_MAX) (default 0)
  -surfaces          <int>        E..V.... Number of concurrent surfaces
(from 0 to 64) (default 0)
  -cbr               <boolean>    E..V.... Use cbr encoding mode (default
false)
  -2pass             <boolean>    E..V.... Use 2pass encoding mode (default
auto)
  -gpu               <int>        E..V.... Selects which NVENC capable GPU
to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX)
(default any)
     any                          E..V.... Pick the first device available
     list                         E..V.... List the available devices
  -delay             <int>        E..V.... Delay frame output by the given
amount of frames (from 0 to INT_MAX) (default INT_MAX)
  -no-scenecut       <boolean>    E..V.... When lookahead is enabled, set
this to 1 to disable adaptive I-frame insertion at scene cuts (default
false)
  -forced-idr        <boolean>    E..V.... If forcing keyframes, force them
as IDR frames. (default false)
  -b_adapt           <boolean>    E..V.... When lookahead is enabled, set
this to 0 to disable adaptive B-frame decision (default true)
  -spatial-aq        <boolean>    E..V.... set to 1 to enable Spatial AQ
(default false)
  -temporal-aq       <boolean>    E..V.... set to 1 to enable Temporal AQ
(default false)
  -zerolatency       <boolean>    E..V.... Set 1 to indicate zero latency
operation (no reordering delay) (default false)
  -nonref_p          <boolean>    E..V.... Set this to 1 to enable
automatic insertion of non-reference P-frames (default false)
  -strict_gop        <boolean>    E..V.... Set 1 to minimize GOP-to-GOP
rate fluctuations (default false)
  -aq-strength       <int>        E..V.... When Spatial AQ is enabled, this
field is used to specify AQ strength. AQ strength scale is from 1 (low) -
15 (aggressive) (from 1 to 15) (default 8)
  -cq                <float>      E..V.... Set target quality level (0 to
51, 0 means automatic) for constant quality mode in VBR rate control (from
0 to 51) (default 0)
  -aud               <boolean>    E..V.... Use access unit delimiters
(default false)
  -bluray-compat     <boolean>    E..V.... Bluray compatibility workarounds
(default false)
  -init_qpP          <int>        E..V.... Initial QP value for P frame
(from -1 to 51) (default -1)
  -init_qpB          <int>        E..V.... Initial QP value for B frame
(from -1 to 51) (default -1)
  -init_qpI          <int>        E..V.... Initial QP value for I frame
(from -1 to 51) (default -1)
  -qp                <int>        E..V.... Constant quantization parameter
rate control method (from -1 to 51) (default -1)
  -weighted_pred     <int>        E..V.... Set 1 to enable weighted
prediction (from 0 to 1) (default 0)
  -coder             <int>        E..V.... Coder type (from -1 to 2)
(default default)
     default                      E..V....
     auto                         E..V....
     cabac                        E..V....
...


Looks like FFMPEG is missing the nvenc flags at compile time for leap.

Patrick


More information about the Packman mailing list