[gst-devel] Video Processing on GStreamer

Edward Hervey bilboed at gmail.com
Tue Feb 14 00:16:01 CET 2006

Hi Benjy,

On 2/14/06, Benjy Grogan <benjy.grogan at gmail.com> wrote:
> Hello,
> I'm interested in using the gstreamer framework alongside with some video
> processing algorithms I will possibly and probably implement in C# (Mono) on
> linux.  Are there any C# video applications out there that use the gstreamer
> framework that I could easily tap into?

  As far as I know, there are two applications using GStreamer which
are written in C# : Banshee (music player) and Diva (video editor).
  The only issue is that since there isn't any C# bindings for
GStreamer, they both call native C code, which is kind of a nuisance
(you can't handle the GStreamer objects as C# objects).

> I'm interested in spending 5% working with an exist open source C# video
> application using gstreamer and 95% of the rest of my time applying video
> processing algos to YUV frames.  So I'm looking for a great C# video app. :)

  All the plugins are done in C right now, and same as what I said
just above, you won't really be able to do a plugin in C#, although it
would be really nice to see that :)
  If you wish to do video transformation plugins, there are base
classes in GStreamer 0.10 that really simplify the work to do
(GstBaseTransform). It only involves specifying what kind of video
data you accept and implementing your transformation algorithm.

> I've chosen gstreamer because as I understand it, the framework abstracts
> video so that I don't have to worry or care about the av codec of the source
> video stream.

  Thanks to the application/core/plugins abstraction, you can use
those plugins in any gstreamer supported application.
  I understand your main goal is to create those video processing
plugins (and GStreamer is in need of some nice ones), but in what
application you want to use them seems a bit unclear.
  Do you wish to apply those plugins on a file? a live stream ? Do
live modifications ? The two first can be done using simple command
lines (gst-launch) or a minimalistic C# program. The last one would
require a video editor (like PiTiVi). If you *REALLY* wish to only
spend 5% of your time on the application, it would be wiser to use an
existing application (even non C#) and concentrate on making nice

> Has anyone done similar work?

  Writing plugins ? yes, but all in C.
  Writin video applications in C# ? Only Diva afaik.

> Benji



Edward Hervey
Junior developer / Fluendo S.L.

More information about the gstreamer-devel mailing list