Video overlay using VAAPI

Wolfgang Grandegger wg at grandegger.com
Thu Jun 14 12:34:01 UTC 2018


Am 14.06.2018 um 14:24 schrieb Nicolas Dufresne:
> 
> 
> Le jeu. 14 juin 2018 08:14, Wolfgang Grandegger <wg at grandegger.com
> <mailto:wg at grandegger.com>> a écrit :
> 
>     Hello Nicolas,
> 
>     Am 14.06.2018 um 13:41 schrieb Wolfgang Grandegger:
>     > 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>
>     >> <mailto: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>>
>     >>     > > <mailto: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...
> 
>     I extracted that patch from the git repo and applied it to may
>     version... and now the command above works! Great! Thanks!

After a while it stopped working... needs a reboot to recover.

This command already puts quite some load to the system. Is it possible
to do more in hardware, with less CPU usage and latency, by implementing
a dedicated GStreamer-Application.

> 
>     Wolfgang.
> 
>     PS: my mail client just offers me to reply to the author or the list,
>     but not both? Is that intentional?
> 
> 
> It's our list configuration. Only non registered email will be kept.
> Nothing to worry about, we still see the messages, but if you CC us
> explicitly, then we get duplicates or inbox messages.

Fine with me!

Wolfgang.


More information about the gstreamer-devel mailing list