vaapih265enc internal data stream error on Ubuntu 22
gst-launch-1.0 videotestsrc ! vaapih265enc ! fakesink -e
gives errors like
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'vaapiencodeh265-0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayDRM\)\ vaapidisplaydrm1", gst.vaapi.Display.GObject=(GstObject)"\(GstVaapiDisplayDRM\)\ vaapidisplaydrm1";
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
A suspicious log is gstvaapiutils.c:131:vaapi_check_status: vaRenderPicture(): invalid VABufferID
.
gst-launch-1.0 videotestsrc ! vaapih264enc ! fakesink -e
runs normally without any issue.
CPU: 12th Gen Intel(R) Core(TM) i5-12500
OS: ubuntu 22
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
GStreamer and vaapi are installed from apt.
sudo apt list --installed | grep gstreamer
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
gir1.2-gstreamer-1.0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed,automatic]
gstreamer1.0-alsa/jammy,now 1.20.1-1 amd64 [installed]
gstreamer1.0-clutter-3.0/jammy-updates,now 3.0.27-2ubuntu1 amd64 [installed,automatic]
gstreamer1.0-gl/jammy,now 1.20.1-1 amd64 [installed]
gstreamer1.0-gtk3/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-libav/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-packagekit/jammy,now 1.2.5-2ubuntu2 amd64 [installed,automatic]
gstreamer1.0-pipewire/jammy-updates,now 0.3.48-1ubuntu3 amd64 [installed,automatic]
gstreamer1.0-plugins-bad/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-plugins-base-apps/jammy,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-plugins-base/jammy,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-good/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-plugins-ugly/jammy,now 1.20.1-1 amd64 [installed]
gstreamer1.0-pulseaudio/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-qt5/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-tools/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
gstreamer1.0-vaapi/jammy-updates,now 1.20.1-1ubuntu1 amd64 [installed]
gstreamer1.0-x/jammy,now 1.20.1-1 amd64 [installed]
libgstreamer-gl1.0-0/jammy,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-opencv1.0-0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed,automatic]
libgstreamer-plugins-bad1.0-0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed,automatic]
libgstreamer-plugins-bad1.0-dev/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
libgstreamer-plugins-base1.0-0/jammy,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-dev/jammy,now 1.20.1-1 amd64 [installed]
libgstreamer-plugins-good1.0-0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed,automatic]
libgstreamer-plugins-good1.0-dev/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed,automatic]
libgstreamer1.0-0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
libgstreamer1.0-dev/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
vainfo output:
vainfo
error: can't connect to X server!
libva info: VA-API version 1.19.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.19 (libva 2.15.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
GStreamer verbose logs are attached as a text file. gstreamer_vaapi_debug_logs.txt