Re: gstreamer integration?



On Thu, Oct 15, 2009 at 01:31:10PM -0600, Stuart Jansen wrote:
> Has anyone considered turning gtk-vnc into a gstreamer source? It'd be
> really useful for creating screencasts with vinagre or virt-manager.
> 
> I've been trying to wrap my head around gstreamer, but so far haven't
> made much progress. Integrating a gstreamer with gtk-vnc's coroutines
> looks pretty tricky. Perhaps someone else with the chops to do it is
> interested by the idea?

I've been looking at gstreamer recently to try and act as the interface
for VNC audio streams. Not thought about using it for video too, but
you're right that it'd be a very effective way todo screencast capture.

In my investigations so far, I've come to the conclusion that todo this
well, we need to make  the 'gvnc' object into a proper GObject and make
it part of the public API. I see a sort of class relationship like

           GVnc <---> GVncFramebuffer
             |
      +-------------------+----------------+
      |                   |                |
  VncDisplay       VncAudioSink     VncVideoSink

Where

  GVnc: provides the main RFB protocol handling & low level API interface
  GVncFramebuffer: abstract GObject framebuffer interface
  GVncDataStream: abstract GObject for byte streams
  VncDisplay: provides a GTK widget frontend to GVnc
  VncAudioSink: provides a GStreamer audio sink on GVnc
  VncVideoSink: provides a GStreamer video sink on GVnc

The GVncFramebuffer object would be a abstract GObject base class, and both
VncDisplay and VncVideoSink would have sub-classes providing a real impl
for their particular needs. The GVncDataStream object would be another 
abstract GObject to be used for exporting byte streams, such as the audio
stream.

There's a fair amount of work here, but from what I've learnt about
gstreamer, I at least don't think coroutines will cause any particularly
bad trouble.

Daniel
-- 
|: http://berrange.com/     -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://freshmeat.net/~danielpb/    -o-   http://gtk-vnc.sourceforge.net :|


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]