[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