GStreamer API over RPC: does it make sense?

Sebastian Dröge sebastian at centricular.com
Mon Nov 4 13:06:51 PST 2013


On Mo, 2013-11-04 at 23:39 +0400, Fedor Lyakhov wrote:
> Hello GStreamer developers,
> 
> I'm working on a Media Redirection feature
> (http://www.spice-space.org/page/Features/MediaRedirection) for Spice,
> a system to access remote virtual machines (similar to VNC or RDP, but
> better).
> 
> Essentially, we want to optimize following use cases in VDI:
> * Playback of remote media resource, i.e. a media stream from remote
> server (e.g. user watches Youtube)
> * Telecommunications, i.e. IP telephony
> 
> The idea is to have e.g. media player at virtual machine (at VDI
> server) to link against a stub library instead of normal GStreamer.
> This library is capable to send API calls to real GStreamer library
> located at user's PC (client) - the actual RPC implementation can be
> done via Google Protocol Buffers for instance. The transport of RPC
> calls will be done within dedicated Spice channel (or e.g. over simple
> TCP connection, to begin with).
> 
> My question is - does this scheme make any sense to you? Is it viable?
> I'd appreciate any comments!
> 
> Maybe it has been considered by someone before?
> What potential issues we'd need to overcome? Any blockers?
> Maybe we can do this for part of API, sufficient to run common media
> applications? We're concerned with following application types mostly:
> media player, web browser (e.g. Firefox using GStreamer) and IP
> softphones (e.g. Empathy).

It's one of the things I proposed as a project for summer of code this
year :) I think it's feasible to do with the GStreamer API, but you
might run into unexpected problems when actually trying this.

That said I don't think abstracting the GStreamer API is really what you
want for Spice. To me it sounds more like you would like to have
something more low-level that just allows to output/input raw or
compressed audio/video and send that over the Spice channel. You're
probably only interested in direct data flow, not a complete abstraction
of the GStreamer API. Something like a remote PulseAudio server plus a
bit more ;)

-- 
Sebastian Dröge <sebastian at centricular.com>
Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 966 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131104/e407d98c/attachment.pgp>


More information about the gstreamer-devel mailing list