Decode with vaapi in headless environment

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Decode with vaapi in headless environment

I have a pc with ubuntu 18.04 where I've installed gstreamer 1.14.1 from repository. This pc is connected to an IP camera from which I receive a h264 stream via rtsp. I'm using the following pipeline for testing:

gst-launch-1.0 rtspsrc location="rtsp://root:root@" protocols=GST_RTSP_LOWER_TRANS_TCP latency=0 ! rtph264depay ! queue ! vaapih264dec ! videoconvert ! video/x-raw, format=BGR ! fakesink dump=true

and everything works fine, I can see the dumped data (if I attach a display sink I can see the stream). If I run the command gst-inspect-1.0 vaapi I can see 16 features and vaapih264dec is included.
As long as I am logged on this pc for testing everything's good. But this pc must work remotely and an application using a similar pipeline should run without the need to be logged in. So without logging in I've connected to the pc via ssh but the same pipeline returns me the error

WARNING: erroneous pipeline: no element "vaapih264dec"

and the command gst-inspect-1.0 vaapi shows 0 features.
As suggested in this similar post I've tried to put DISPLAY= WAYLAND_DISPLAY= in front of the pipeline but still, same result.

I then proceeded to build gstreamer (1.15.2) from source building gstreamer-vaapi only with drm (--enable-drm=yes --enable-x11=no --enable-glx=no --enable-wayland=no --enable-egl=no) and for what I can see it compiled and installed correctly. Compiled also the intel driver i965.
Via ssh I've exported the following environment variable to be sure not to conflict with old gstreamer from repo: PATH, LD_LIBRARY_PATH, LIBVA_DRIVERS_PATH, LIBVA_DRIVER_NAME but still i get no element "vaapih264dec" and gst-instpect shows 0 features.

Do you have any suggestions?
Many thanks

Sent from the GStreamer-devel mailing list archive at

gstreamer-devel mailing list
[hidden email]