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 > > 2011/4/11 Alon Levy <al...@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@lists.freedesktop.org > > > http://lists.freedesktop.org/mailman/listinfo/spice-devel > > > > > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel