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