dynamic videomixing

Bernhard Graaf bernhard.graaf at gmx.de
Sun Dec 21 01:07:19 PST 2014


I had searched for a solution, but with no luck.

Has anyone an idea?

 

Thanks

Bernhard

 

  _____  

Von: Bernhard Graaf [mailto:bernhard.graaf at gmx.de] 
Gesendet: Donnerstag, 18. Dezember 2014 10:31
An: 'Discussion of the development of and with GStreamer'
Betreff: AW: Re: dynamic videomixing

 

Hi,

 

Now I have tried to run a second stream for the videomixer and it’s seems to
be also a video format issue.

 

The pipeline with gst-launch:

gst-launch-1.0 -v --gst-debug=3 tcpclientsrc host='192.168.1.4' port=12000
name=src1 ! queue2 ! decodebin name=decoder1 ! queue ! audioconvert
name=aconv1 !  audioresample ! pulsesink decoder1. ! queue ! videoconvert
name=conv1 ! videoscale name=scale1 ! videomixer name=mix ! videoconvert
name=conv4 ! xvimagesink tcpclientsrc host='192.168.1.4' port=12001
name=src2 ! queue2 ! decodebin name=decoder2 ! queue ! audioconvert
name=aconv2 ! fakesink   decoder2. !  queue ! videoconvert name=conv2 !
videoscale name=scale2 ! videobox left=-100 right=-20 top=-20 bottom=-50 !
videoconvert name=conv3 ! mix.

 

The regarding results from terminal:

 

/GstPipeline:pipeline0/GstVideoConvert:conv1.GstPad:src: caps = video/x-raw,
format=(string)I420, width=(int)720, height=(int)576,
pixel-aspect-ratio=(fraction)64/45, interlace-mode=(string)mixed,
chroma-site=(string)mpeg2, colorimetry=(string)bt601,
framerate=(fraction)25/1

/GstPipeline:pipeline0/GstVideoScale:scale1.GstPad:src: caps = video/x-raw,
width=(int)1024, height=(int)576, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)1/1, format=(string)I420,
interlace-mode=(string)mixed, chroma-site=(string)mpeg2,
colorimetry=(string)bt601

0:00:00.726018561  5470      0x12a6e80 WARN                GST_PADS
gstpad.c:3669:gst_pad_peer_query:<scale1:src> could not send sticky events

/GstPipeline:pipeline0/GstVideoScale:scale1.GstPad:sink: caps = video/x-raw,
format=(string)I420, width=(int)720, height=(int)576,
pixel-aspect-ratio=(fraction)64/45, interlace-mode=(string)mixed,
chroma-site=(string)mpeg2, colorimetry=(string)bt601,
framerate=(fraction)25/1

/GstPipeline:pipeline0/GstVideoConvert:conv1.GstPad:sink: caps =
video/x-raw, format=(string)I420, width=(int)720, height=(int)576,
pixel-aspect-ratio=(fraction)64/45, interlace-mode=(string)mixed,
chroma-site=(string)mpeg2, colorimetry=(string)bt601,
framerate=(fraction)25/1

0:00:00.884194085  5470      0x12d9cf0 WARN                 basesrc
gstbasesrc.c:2865:gst_base_src_loop:<src1> error: Internal data flow error.

0:00:00.884246375  5470      0x12d9cf0 WARN                 basesrc
gstbasesrc.c:2865:gst_base_src_loop:<src1> error: streaming task paused,
reason not-negotiated (-4)

ERROR: from element /GstPipeline:pipeline0/GstTCPClientSrc:src1: Internal
data flow error.

Additional debug info:

gstbasesrc.c(2865): gst_base_src_loop ():
/GstPipeline:pipeline0/GstTCPClientSrc:src1:

streaming task paused, reason not-negotiated (-4)

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

 

The message ‘could not send sticky events’ seems to tell me that there are
‘different formats’ and the sink pad could not link to the source pad.

Any idea to solve this problem or any idea what’s wrong in my pipeline?

 

The whole terminal output in the attached file.

 

Many Thanks for helping!

Bernhard

 

  _____  

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von bernhard.graaf
Gesendet: Montag, 15. Dezember 2014 17:31
An: Discussion of the development of and with GStreamer
Betreff: AW: Re: dynamic videomixing

 

Yes, works fine when I'm using videoscale instead of videoconvert.

 

Thanks a lot for yor help!

Bernhard

 

-------- Ursprüngliche Nachricht --------

Von: "bernhard.graaf" 

Datum:15.12.2014 16:25 (GMT+01:00) 

An: Discussion of the development of and with GStreamer 

Betreff: AW: Re: dynamic videomixing 

 

Sorry, misunderstandig, will try and give you a response

-------- Ursprüngliche Nachricht --------

Von: Sérgio Agostinho 

Datum:15.12.2014 15:20 (GMT+01:00) 

An: Discussion of the development of and with GStreamer 

Betreff: Re: dynamic videomixing 

 

Wasn't your problem solved by adding a videoscale element before the
videomixer?

 

2014-12-15 15:14 GMT+01:00 Bernhard Graaf <bernhard.graaf at gmx.de>:

Hi Sèrgio,

 

any results?

 

Bernhard

 

  _____  

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Bernhard Graaf
Gesendet: Samstag, 13. Dezember 2014 19:54
An: 'Discussion of the development of and with GStreamer'
Betreff: AW: dynamic videomixing

 

Thanks a lot!!!

 

  _____  

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Sérgio Agostinho
Gesendet: Samstag, 13. Dezember 2014 19:48
An: Discussion of the development of and with GStreamer
Betreff: Re: dynamic videomixing

 

Gave it some more tests and apparently the issue is with the
pixel-aspect-ratio=64/45. The videomixer does not like it. I managed to work
around it by adding a videoscale element before the the videomixer. 

 

gst-launch-1.0 -ve videotestsrc ! video/x-raw, format=I420, width=720,
height=576, pixel-aspect-ratio=64/45, interlace-mode=mixed,
chroma-site=mpeg2, colorimetry=bt601, framerate=25/1 ! videoscale !
videomixer ! xvimagesink

 

 

2014-12-13 19:34 GMT+01:00 Bernhard Graaf <bernhard.graaf at gmx.de>:

Absolute the same result.

 

  _____  

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Sérgio Agostinho
Gesendet: Samstag, 13. Dezember 2014 19:18


An: Discussion of the development of and with GStreamer
Betreff: Re: dynamic videomixing

 

It is clear that you're having a format issue when you're adding the
videomixer.  What happens if you place a deinterlace element before the
videomixer?

 

2014-12-13 18:46 GMT+01:00 Bernhard Graaf <bernhard.graaf at gmx.de>:

See attached files

 

  _____  

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Sérgio Agostinho
Gesendet: Samstag, 13. Dezember 2014 18:23


An: Discussion of the development of and with GStreamer
Betreff: Re: dynamic videomixing

 

Paste the console output of your pipeline


gst-launch-1.0 -v tcpclientsrc host='192.168.1.4' port=12000 ! queue2 !
decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample !
pulsesink   decoder. !  queue ! videoconvert ! xvimagesink

and also with the videomixer

 

gst-launch-1.0 -v tcpclientsrc host='192.168.1.4' port=12000 ! queue2 !
decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample !
pulsesink   decoder. !  queue ! videoconvert ! videomixer ! xvimagesink

 

 

 

2014-12-13 18:12 GMT+01:00 Bernhard Graaf <bernhard.graaf at gmx.de>:

Hi Sèrgio,

 

I have checked this. If I try to test the pipeline with gst-launch, I get
the same result (whatever position, before queue, after queue, after
videoconvert). 

gst-launch-1.0 -vvv tcpclientsrc host='192.168.1.4' port=12000 ! queue2 !
decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample !
pulsesink   decoder. !  queue ! videoconvert ! xvimagesink

The pipeline is hanging. If I remove only the videomixer, the pipeline is
working well.

The gst_pad_link() returned ‘GST_PAD_LINK_NOFORMAT’.

 

Any Idea?

 

Bernhard

  _____  

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Sérgio Agostinho
Gesendet: Samstag, 13. Dezember 2014 16:38
An: Discussion of the development of and with GStreamer
Betreff: Re: dynamic videomixing

 

Hi Bernhard, 

 

I've tested the pipeline below and it works so the answer to your initial
question is, yes you can have only one sink pad in the video mixer

gst-launch-1.0 -ev v4l2src ! videomixer ! xvimagesink

 

Regarding the second question. 

gst_pad_link()
<http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/Gst
Pad.html#gst-pad-link>  returns the reason why the link failed, and it is
normally quite descriptive as you can see on 

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstP
ad.html#GstPadLinkReturn . Try to see what it is returning in your case.

 

Also have you tried to test your pipeline in gst-launch with the video
mixer?

 

Sérgio


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141221/8738d231/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: videomixer3.txt
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141221/8738d231/attachment-0001.txt>


More information about the gstreamer-devel mailing list