AW: Overlay peak value on video
Thornton, Keith
keith.thornton at zeiss.com
Mon Mar 9 03:31:06 PDT 2015
It would interest me to know whether it is realy possible to do a frame exact testoverlay using setProperty. I am also not using a bin.
-----Ursprüngliche Nachricht-----
Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org] Im Auftrag von Paul Barber
Gesendet: Montag, 9. März 2015 11:12
An: gstreamer-devel at lists.freedesktop.org
Betreff: Re: Overlay peak value on video
Hi Tim,
Thanks for the suggestion. You said that:
> In the simplest case the element just knows about the bin and the textoverlay and can just set the property directly.
That sounds good to me, but I do not understand why the bin is needed.
Is there a good way for the element to know about another element?
Can it have a property that can be the name, or handle, or pointer to the other element?
The only way I can see is to pass the GObject pointer, so that the new element can use gst_util_set_object_arg() or g_object_set().
Cheers,
Paul.
On Fri, 2015-03-06 at 11:30 +0000, Paul Barber wrote:
Hey Paul,
>> What do you think would be the best way to write an element that
>> makes some measurement on the video buffer (say the peak RGB values)
>> and then overlays that measurement onto the video itself?
>>
>> Making the measurement is no problem. I have used the template filter
>> plugin, access the buffer and detect the peak values in the video
>> chain function.
>> I am also aware of the textoverlay element which will overlay static
>> text or via the text sink .
>> Can I make an element that will act as a text src for the textoverlay
>> text sink?
>> Can I push text out on a text src pad from within the video chain function?
>> Or is there a better way?
> Perhaps something like this:
>
> - make a bin, and into the bin you put your measurement element into
> that bin
>
> - add a sink ghostpad to the bin and point it to the sink pad of
> your element
>
> - add a textoverlay element to the bin and link it with your
> measurement element (put it after your measurement element)
>
> - add a src ghostpad to the bin and point it to the src pad of the
> textoverlay element
>
> Then what you need is a mechanism for your measurement element to put
> the result as "text" property on the textoverlay. In the simplest case
> the element just knows about the bin and the textoverlay and can just
> set the property directly. Alternatively you could subclass GstBin,
> override the handle_message vfunc, and have the measurement element
> post a message with the measurement, and then intercept that in the
> bin and set the right string on textoverlay (which will be done just
> before the buffer is pushed to it).
>
> Cheers
> -Tim
>
--
Dr Paul R Barber
CRUK/MRC Oxford Institute for Radiation Oncology Gray Laboratories Department of Oncology University of Oxford Old Road Campus Research Building, Roosevelt Drive, Oxford OX3 7DQ
Tel: 01865 617404 (Oxford); 0207 848 6314 or 6421 (KCL)
Fax: 01865 617334
Email: paul.barber at oncology.ox.ac.uk
http://users.ox.ac.uk/~raob0009
http://users.ox.ac.uk/~atdgroup
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list