Changing video effects while playing using pad blocking

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Changing video effects while playing using pad blocking

Luciana Fujii Pontello
Hi,

I'm trying to apply effects to a video and change these effects while
streaming. Someone suggested that I use pad blocking, and so I'm trying
to using mostly this as my information font:
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt

Using this code http://codepad.org/JqSs1DFn to change elements I usually
can change effects while streaming, but sometimes the pipeline just
stops. In fact, it always stops when I change to an yuv effect from a
rgb effect or vice-versa, and sometimes it stops with effects of the
same type (but not exactly the same caps).

I can apply, for instance, videoflip, and then navigationtest. But if I
change to vertigotv next, the pipeline stops.

I also asked about that and someone told me that the elements should
handle this change in colorspace and that some element could be broken.
The only elements I'm using right now are:
v4l2src ! ffmpegcolorspace ! queue ! effect ! ffmpegcolorspace !
autovideosink. My test aplication can be found in
http://git.holoscopio.com/fujii/effect_test.git

I really don't know where to look now. I'm not sure I'm changing the
elements correctly, or if it is something with the elements I'm using.
Can anyone point me a way? Maybe an example of pad blocking that can do
something similar to what I'm doing?

Thanks,

--
Luciana Fujii
Holoscópio Tecnologia - http://holoscopio.com


------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Changing video effects while playing using pad blocking

Miron Kunz
Hi,

I had the same problem when using tee with 2 branches where each branch had different capabilities. The only way to solve it I found was to fixate capabilities with caps filter. This will prevent renegotiation of the caps and its propagation to the source resulting in the flow stop.

So try something like this:

v4l2src ! video/x-yuv... your caps filter here ! queue ! ffmpegcolorspace !effect ! ffmpegcolorspace !

Your case is a bit different from mine so it is yet to see if it helps you.

Thanks,
Miron.



-----Original Message-----
From: Luciana Fujii Pontello <[hidden email]>
To: [hidden email]
Date: Fri, 12 Feb 2010 16:37:57 -0200
Subject: [gst-devel] Changing video effects while playing using pad blocking

> Hi,
>
> I'm trying to apply effects to a video and change these effects while
> streaming. Someone suggested that I use pad blocking, and so I'm trying
> to using mostly this as my information font:
> http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt
>
> Using this code http://codepad.org/JqSs1DFn to change elements I usually
> can change effects while streaming, but sometimes the pipeline just
> stops. In fact, it always stops when I change to an yuv effect from a
> rgb effect or vice-versa, and sometimes it stops with effects of the
> same type (but not exactly the same caps).
>
> I can apply, for instance, videoflip, and then navigationtest. But if I
> change to vertigotv next, the pipeline stops.
>
> I also asked about that and someone told me that the elements should
> handle this change in colorspace and that some element could be broken.
> The only elements I'm using right now are:
> v4l2src ! ffmpegcolorspace ! queue ! effect ! ffmpegcolorspace !
> autovideosink. My test aplication can be found in
> http://git.holoscopio.com/fujii/effect_test.git
>
> I really don't know where to look now. I'm not sure I'm changing the
> elements correctly, or if it is something with the elements I'm using.
> Can anyone point me a way? Maybe an example of pad blocking that can do
> something similar to what I'm doing?
>
> Thanks,
>
> --
> Luciana Fujii
> Holoscópio Tecnologia - http://holoscopio.com
>
>
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Changing video effects while playing using pad blocking

Luciana Fujii Pontello
Hello,

Just for the record, this has been solved (worked around actually) with
some help by removing also the colorspaces before and after the effect
and adding them again with the new effect.

There is a bug opened about this issue:
https://bugzilla.gnome.org/show_bug.cgi?id=614296

Thanks to everybody that helped me.

Luciana Fujii
Holoscópio Tecnologia - http://holoscopio.com

On Mon, 2010-02-15 at 22:33 +0300, Miron Kunz wrote:

> Hi,
>
> I had the same problem when using tee with 2 branches where each branch had different capabilities. The only way to solve it I found was to fixate capabilities with caps filter. This will prevent renegotiation of the caps and its propagation to the source resulting in the flow stop.
>
> So try something like this:
>
> v4l2src ! video/x-yuv... your caps filter here ! queue ! ffmpegcolorspace !effect ! ffmpegcolorspace !
>
> Your case is a bit different from mine so it is yet to see if it helps you.
>
> Thanks,
> Miron.
>
>
>
> -----Original Message-----
> From: Luciana Fujii Pontello <[hidden email]>
> To: [hidden email]
> Date: Fri, 12 Feb 2010 16:37:57 -0200
> Subject: [gst-devel] Changing video effects while playing using pad blocking
>
> > Hi,
> >
> > I'm trying to apply effects to a video and change these effects while
> > streaming. Someone suggested that I use pad blocking, and so I'm trying
> > to using mostly this as my information font:
> > http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt
> >
> > Using this code http://codepad.org/JqSs1DFn to change elements I usually
> > can change effects while streaming, but sometimes the pipeline just
> > stops. In fact, it always stops when I change to an yuv effect from a
> > rgb effect or vice-versa, and sometimes it stops with effects of the
> > same type (but not exactly the same caps).
> >
> > I can apply, for instance, videoflip, and then navigationtest. But if I
> > change to vertigotv next, the pipeline stops.
> >
> > I also asked about that and someone told me that the elements should
> > handle this change in colorspace and that some element could be broken.
> > The only elements I'm using right now are:
> > v4l2src ! ffmpegcolorspace ! queue ! effect ! ffmpegcolorspace !
> > autovideosink. My test aplication can be found in
> > http://git.holoscopio.com/fujii/effect_test.git
> >
> > I really don't know where to look now. I'm not sure I'm changing the
> > elements correctly, or if it is something with the elements I'm using.
> > Can anyone point me a way? Maybe an example of pad blocking that can do
> > something similar to what I'm doing?
> >
> > Thanks,
> >
> > --
> > Luciana Fujii
> > Holoscópio Tecnologia - http://holoscopio.com


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel