Video overlay using VAAPI

Wolfgang Grandegger wg at grandegger.com
Thu Jun 14 11:41:43 UTC 2018


Hello,

Am 14.06.2018 um 12:55 schrieb Nicolas Dufresne:
> 
> 
> Le jeu. 14 juin 2018 06:22, Víctor Jáquez <vjaquez at igalia.com
> <mailto:vjaquez at igalia.com>> a écrit :
> 
>     On Thu, 14 Jun 2018 at 11:57, Wolfgang Grandegger wrote:
>     > 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>
>     > > <mailto: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:
> 
> 
> Looks like this bug:
> 
> https://bugzilla.gnome.org/show_bug.cgi?id=796505

But the command below works fine:

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

I have here 1.12.24. Another good reason to upgrade to a more recent
version...

>     >
>     > # 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.
> 
>     I guess, what you want is this
> 
>     gst-launch-1.0 -v glvideomixer name=m ! vaapisink \
>       videotestsrc pattern=1 ! video/x-raw,width=1280,height=720 ! m. \
>       udpsrc port=50004 !
>     application/x-rtp,encoding-name=JPEG,payload=26 ! queue ! \
>       rtpjpegdepay ! vaapijpegdec ! vaapipostproc ! m.

Victor suggested the same command. I'm a bit puzzled. I want to have a
band 50 pixel high at to top with pattern=1 over the normal video
pattern on the whole screen received from the network. The result should
be the same as the command at the top of this email. Did I miss something?
And the band at the top should even be transparent... but that's another
topic.

Wolfgang.


More information about the gstreamer-devel mailing list