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