Video overlay using VAAPI

Wolfgang Grandegger wg at grandegger.com
Thu Jun 14 09:57:15 UTC 2018


Hello,

Am 13.06.2018 um 13:45 schrieb Nicolas Dufresne:
> 
> 
> Le mer. 13 juin 2018 04:57, Wolfgang Grandegger <wg at grandegger.com
> <mailto:wg at grandegger.com>> a écrit :
> 
>     Hello,
> 
>     I want to program a GStreamer pipeline overlaying a video generated with
>     "videotestsrc" over a video received from the network on an Intel PC
>     (VAAPI).  What is the most efficient way to realize such an overlay. The
>     overlay works fine with "clockoverlay" but I have not found yet a
>     solution with "videotestsrc".
> 
> 
> I believe best would be to use glvideomixer.

OK, thakns, the following is working:

# gst-launch-1.0 glvideomixer name=m ! vaapisink \
	videotestsrc ! video/xraw,format=RGBA,width=1280,height=800,framerate=30/1 ! \
	m.  videotestsrc pattern=1 ! video/x-raw,format=RGBA,width=1280,height=50 ! m.

But when I try to read a MJPEG encoded stream from the network it's not
shown, but just the overlay:

# gst-launch-1.0 -v glvideomixer name=m ! vaapisink display=1  \
	udpsrc port=50004 ! application/x-rtp,encoding-name=JPEG,payload=26 ! queue ! \
	rtpjpegdepay ! vaapijpegdec ! vaapipostproc ! \
	m. videotestsrc pattern=1 ! video/x-raw,format=RGBA,width=1280,height=50 ! m.

It's difficult to understand what's working together. Maybe it's because I mixed elements
from "vaapi" and "opengl" modules. 

The following works just fine.

# gst-launch-1.0 udpsrc port=50004 ! application/x-rtp,encoding-name=JPEG,payload=26 \
	! queue ! rtpjpegdepay ! vaapijpegdec ! vaapipostproc ! vaapisink


Wolfgang.


More information about the gstreamer-devel mailing list