[Spice-devel] Streaming video command line

Alon Levy alevy at redhat.com
Sun Apr 17 21:42:16 PDT 2011


On Fri, Apr 15, 2011 at 11:08:01PM +0300, Yaniv Kaul wrote:
> On 4/15/2011 18:22, Alon Levy wrote:
> >On Thu, Apr 14, 2011 at 03:20:40PM +0200, Andrea Celestino wrote:
> >>I would like to improve the streaming video performance in Spice, do you
> >>think that is possible to improve it? In what way?
> >>Are there documents that describes in detail how spice works with video?
> >The best I can offer in terms of documentation is the pdfs in the documents
> >section of spice-space.org, I imagine you are looking for something more,
> >sorry to disappoint.
> >
> >The code you are interested in is server/red_worker.c, but that's not very
> >helpful since that file is huge. Would be nice to split the video related
> >stuff to a separate file.
> >
> >worker->streaming_video - determines how we handle streaming video
> >
> >git grep stream -- server/red_worker.c
> >
> >I can give you better pointers if you ask more specific questions, but doing
> >the documentation myself right now.. too much work.
> >
> >overview of what spice does:
> >  * determine if a given draw operation (has to be an opaque copy iirc) is
> >   repeated to the same area.
> >  * if so, starts a mjpeg encoder and sends the stream to the client
> >
> >how to improve this (some is on the Features page in spice-space):
> >  * learn to do various video acceleration apis (windows has it, linux has it)
> >   * this is by far the best way to go regarding performance, unless you are
> >   willing to sacrifice cpu for bandwidth in which case I guess you would reencode.
> >   * otoh this is a pretty large change to multiple parts of spice:
> >    * you need to update the driver for each platform you choose to support, update the protocol, teach server and client
> >   * it's definitely on the todo list, but no date set.
> >  * replace mjpeg with a different encoder
> >   * if it's just a better performing encoder, clear win.
> >   * otherwise you get the usual cpu/bw tradeoff.
> >   * or you could try to learn which encoder fits which stream (based on some
> >   metric, could be the performance of the encoders themselves)
> >    * just throwing an idea.
> >
> >Alon
> 
> Compressed stream pass-through may also be a viable options
> sometimes - do not decode on the guest, re-encode in mjpeg and
> decode on the client - just pass the compressed stream from the
> guest to the client and decode there.
> Of course, you need to have the same decoder on the client as you'd
> have on the VM, which makes it more fun, but others have been doing
> it.
That's what video acceleration APIs (vdpau for instance) are all about.

> Y.
> 
> >>2011/4/11 Alon Levy<alevy at redhat.com>
> >>
> >>>On Mon, Apr 11, 2011 at 03:48:08PM +0200, Andrea Celestino wrote:
> >>>>Hi,
> >>>>I have installed Spice and now I'm trying to use it. I'm interested in
> >>>how
> >>>>spice manage streaming video. I read that there is the option
> >>>>
> >>>>-streaming-video=[all|off|filter]
> >>>>
> >>>>Can you explain me the difference between these three option?
> >>>>Which source file read the command line?
> >>>>Why I have tried to play a video in a player but i have not notice any
> >>>>difference between the two options 'off' and 'filter'?
> >>>>
> >>>Look at http://cgit.freedesktop.org/spice/spice/tree/server/red_worker.c
> >>>
> >>>search for STREAM_VIDEO_FILTER
> >>>
> >>>The switch toggles modes for creating streams:
> >>>  off - never create
> >>>  all/filter - create either based on smallest size, or just based on
> >>>  number of consecutive opaque copies to same area.
> >>>
> >>>>Thanks very much for the help.
> >>>>_______________________________________________
> >>>>Spice-devel mailing list
> >>>>Spice-devel at lists.freedesktop.org
> >>>>http://lists.freedesktop.org/mailman/listinfo/spice-devel
> >>>
> >>_______________________________________________
> >>Spice-devel mailing list
> >>Spice-devel at lists.freedesktop.org
> >>http://lists.freedesktop.org/mailman/listinfo/spice-devel
> >_______________________________________________
> >Spice-devel mailing list
> >Spice-devel at lists.freedesktop.org
> >http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list