VLC on linux with nVidia: Failed setup for format vdpau: hwaccel initialisation returned error.
Posted: 21 May 2021 13:06
Hello all,
For setup and configuration purposes, I access my IP WLAN camera with VLC:
This is H.264:
"VDPAU Output" (shouldn't it to be possible on nVidia cards?), results in flickering of the entire stream, with no stream contents displayed.
With "Automatic", it works with the following error in the terminal:
Log file (VLC failing to use the nVidia modules, falling back to OpenGL):
Why can't VLC use the VDPAU driver although it supports H.264?
For setup and configuration purposes, I access my IP WLAN camera with VLC:
Code: Select all
vlc -vvv --fullscreen --rtsp-mcast --no-osd --extraintf=http:logger --verbose=2 --file-logging --logfile=vlc-log.txt rtsp://User:pass@192.168.178.40:554/Streaming/channels/101
Code: Select all
a=recvonly
a=x-dimensions:2560,1440
a=control:rtsp://192.168.178.40:554/Streaming/channels/101/trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=420029; packetization-mode=1; sprop-parameter-sets=Z00AMp2oCgAtabgICAoAAAMAAgAAAwBRCA==,aO48gA==
m=audio 0 RTP/AVP 0
With "Automatic", it works with the following error in the terminal:
Code: Select all
[h264 @ 0x7fd158012240] Failed setup for format vdpau: hwaccel initialisation returned error.
[h264 @ 0x7fd158012240] Reinit context to 2560x1440, pix_fmt: yuvj420p
Code: Select all
main debug: using hw decoder module "vdpau_avcodec"
avcodec: Using NVIDIA VDPAU Driver Shared Library 390.143 Fri Mar 12 07:19:27 UTC 2021 for hardware decoding
avcodec debug: available hardware decoder output format 119 (cuda)
avcodec debug: available hardware decoder output format 46 (vaapi_vld)
avcodec debug: available software decoder output format 12 (yuvj420p)
avcodec debug: available software decoder output format 12 (yuvj420p)
avcodec error: existing hardware acceleration cannot be reused
avcodec debug: trying format vaapi_vld
main debug: removing module "vdpau_chroma"
main debug: Filter 0x7fd13401f580 removed from chain
main debug: removing module "gl"
main debug: removing module "glconv_vdpau"
main debug: removing module "glx"
main debug: deinterlace -1, mode auto, is_needed 0
main debug: Opening vout display wrapper
main debug: looking for vout display module matching "any": 13 candidates
main debug: VoutDisplayEvent 'resize' 1680x1050
main debug: looking for opengl module matching "glx": 3 candidates
glx debug: using GLX extension version 1.4
main debug: Buffering 80%
main debug: using opengl module "glx"
The error comes from libavcodec, not VLC. Though I'd expect a problem with the VDPAU driver more than with libavcodec, it could also be a bug in Arch Linux's libavcodec package.
Code: Select all
$ vainfo
vainfo: VA-API version: 1.11 (libva 2.11.1)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG4Simple : VAEntrypointVLD
VAProfileMPEG4AdvancedSimple : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
Code: Select all
$ vdpauinfo
display: :0.0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 390.143 Fri Mar 12 07:19:27 UTC 2021
Video surface:
name width height types
-------------------------------------------
420 4096 4096 NV12 YV12
422 4096 4096 UYVY YUYV
Decoder capabilities:
name level macbs width height
----------------------------------------------------
H264_BASELINE 41 8192 2048 2048
H264_MAIN 41 8192 2048 2048
H264_HIGH 41 8192 2048 2048
H264_CONSTRAINED_BASELINE 41 8192 2048 2048
H264_EXTENDED 41 8192 2048 2048
H264_PROGRESSIVE_HIGH 41 8192 2048 2048
H264_CONSTRAINED_HIGH 41 8192 2048 2048
H264_HIGH_444_PREDICTIVE 41 8192 2048 2048
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 16384 16384
R8G8B8A8 16384 16384
R10G10B10A2 16384 16384
B10G10R10A2 16384 16384
A8 16384 16384
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 y
parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 1 4096
VIDEO_SURFACE_HEIGHT y 1 4096
CHROMA_TYPE y
LAYERS y 0 4
attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y