[Spice-devel] Streaming video command line

Andrea Celestino celestino.andrea at gmail.com
Thu Apr 21 01:22:15 PDT 2011


Thanks.
Now I am trying to study the code I am interested in.
Unfortunately, the file red_worker.c is very huge and there are not any
comments that can help me.

I would like to know:
1- which parts/functions of red_worker.c are video related stuff?
2- You said:
 "determine if a given draw operation (has to be an opaque copy iirc) is
 repeated to the same area."
What do you mean with "opaque copy iirc"?

3- There are a red worker thread for each QXL device instance. How many QXL
device instance are there?
4- Which function does red_worker.c use to detect video streaming?

Thanks for any helps you can give me

2011/4/15 Alon Levy <alevy at redhat.com>

> 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 <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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20110421/52a84004/attachment.html>


More information about the Spice-devel mailing list