[gst-devel] scientific app experiences?

Martin Pokorny mpokorny at nrao.edu
Tue Jun 5 16:55:49 CEST 2007


alberto colombo <albx79 <at> gmail.com> writes:
> I don't know if you can call it scientific, but I approached gstreamer
> from a computer vision perspective. At the time it looked promising,
> and technically it still does, however I found it difficult to convice
> my collaborators to use it.

That's an interesting observation, which is something to consider in the context 
of my project. One of the reasons that I'm considering gstreamer is to provide 
extensibility using a well developed API to my application. Only two or three 
instruments in the world will exist to feed data to my application. That's 
enough for me to consider a framework like gstreamer, since the several groups 
owning these instruments want to share code "as much as possible".

> Unfortunately, in a collaborative project,
> a framework like gstreamer is useful (and extremely so) only if
> everybody adopts it.

Luckily "everybody" won't have a choice if I make the decision. On the other 
hand, I need to justify my decisions and want people to work with me.

> One of the reasons why we haven't adopted gstreamer is probably the
> intrinsic intricacy of the gobject system, however I believe that the
> main reasons were non-technical in nature.

Yeah, the gobject system does take some study; but it does seem to work well. I 
will try to hide some of the complexity in the API I intend to layer over 
gstreamer.

> (Basically, in computer
> vision no one wants to have a framework, nor even a pipeline, we just
> call functions sequentially and wonder why our algorithms are so slow,
> but I'm going OT...)

That's somewhat analogous to my situation, too. I'm certain that some people 
will complain about the seeming complexity of the gstreamer approach, and I'll 
have to argue for the benefits. Ultimately, I think people, including myself, 
will be persuaded if I can show that the gstreamer based app has good 
performance. BTW, "good performance" means being able to process data-carrying 
UDP packets at a rate sufficient to nearly saturate (> 95%) a 1 gigabit ethernet 
link.

Cheers,
  Martin








More information about the gstreamer-devel mailing list