SPICE: New ways to remote desktops with GStreamer integration

Video in TIB AV-Portal: SPICE: New ways to remote desktops with GStreamer integration

Formal Metadata

SPICE: New ways to remote desktops with GStreamer integration
Title of Series
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
In this presentation we will be talking about SPICE project and its goal to provide a complete open source solution for remote access to virtual machines. It will be described how SPICE works and the recent improvements over video streaming.
Keywords other

Related Material

The following resource is accompanying material for the video
Video is cited by the following resource
Word Implementation Presentation of a group Computer animation Kälteerzeugung Multiplication sign Energy level Bit Disk read-and-write head
Focus (optics) Musical ensemble Computer file Connectivity (graph theory) Virtual machine Shared memory Set (mathematics) Client (computing) Streaming media Cartesian coordinate system Spreadsheet Computer animation Different (Kate Ryan album) Right angle Remote procedure call Communications protocol Error message Window Pole (complex analysis) Library (computing) Spacetime
Server (computing) Computer animation Information Interface (computing) Keyboard shortcut Set (mathematics) Electronic visual display output Client (computing) Instance (computer science)
Webcam Presentation of a group Server (computing) Direction (geometry) Weight Shape (magazine) Instance (computer science) Client (computing) Medical imaging Computer animation Vector space output Electronic visual display Position operator Mathematical optimization
Server (computing) Moment (mathematics) Virtual machine Content (media) Device driver Plastikkarte Client (computing) Mereology Replication (computing) Medical imaging Process (computing) Computer animation Artistic rendering Right angle Data compression Position operator Task (computing)
Computer animation Information Client (computing) Sequence
Server (computing) Touchscreen Computer animation Information Multiplication sign Right angle Parameter (computer programming) Client (computing) Endliche Modelltheorie Shape (magazine) Mereology Asynchronous Transfer Mode
Goodness of fit Mathematics Computer animation Client (computing)
Arithmetic mean Computer animation Workstation <Musikinstrument> Streaming media
Computer animation
Computer animation Bit Streaming media Quicksort Raw image format
Point (geometry) Instance (computer science) Client (computing) Cartesian coordinate system System call Food energy Flow separation Type theory Computer animation Personal digital assistant Different (Kate Ryan album) String (computer science) Electronic visual display Multimedia Writing
Computer animation Personal digital assistant String (computer science) Software testing Right angle Pattern language Streaming media
Server (computing) Mobile app Open source Device driver Überlastkontrolle Client (computing) Streaming media Instance (computer science) Flow separation Medical imaging Computer animation String (computer science) Order (biology)
Data mining Computer animation Interface (computing) Virtual machine Right angle Quicksort Instance (computer science) Web browser Rule of inference
Computer animation Personal digital assistant Natural number
Multiplication sign
Point (geometry) Connectivity (graph theory) Buffer solution Communications protocol
Type theory Computer animation Weight Streaming media System call
Server (computing) Presentation of a group Video card Information Multiplication sign 1 (number) Client (computing) Streaming media Shape (magazine) Instance (computer science) Mereology Perspective (visual) Computer programming Mathematics Computer animation Chain output Electronic visual display Website Right angle Physical system
Point (geometry) Android (robot) Presentation of a group Streaming media Client (computing) Web browser Software bug Web 2.0 Revision control Synchronization Different (Kate Ryan album) Semiconductor memory IRIS-T Codierung <Programmierung> Mathematical optimization Adventure game Area Default (computer science) Moment (mathematics) Instance (computer science) Flow separation Connected space Type theory Sparse matrix Vector space Personal digital assistant Buffer solution Video game Website output Right angle Communications protocol Window Reverse engineering
Computer animation
around and metadata low and I'm here to talk about splice and I about new bit I'm is and I was born and raised in Brazil centrism and I came all the way to Czech Republic to work on this for red head Venables almost 3 years now and yeah can't really happy to be here to focus but you and thank you for interest in being here so 1st of all mean how many of you know something about spice OK to perform the Spanish and the of all you to do you use it frequently or no sometime in the OK so yet the scope of this presentation is not going to d to go deeply in the implementation on hold words in our very low level is just like in the high overview so it's fine for everybody I hope and I don't want to take all the time that we have here this was intentional as and should be like continuous the community so refrigerator have the time to ask questions as they come so 1st of all what is bad the spice
is is always choose similar connects choose some remote device on remote machines could be a very metal machine it could be the empirical machine our main focus usually is restore machines was designed for that but there is several ways you connect should very metal as well the From this during this quite small but you have a the from windows and from Linux you're connecting 2 different to choose different mediums there uh from Windows to different windows with spreadsheet for Linux you cannot not running here from Linux connecting 2 different windows and the main point of spices being a which you last but used it would go much in the
sentence right like like it was your real machine right there so you can play video and share files listen music a new breed director USB so that's our main goal to talk about spies and support and you divided in 4 different components and which are the client which is the spice application that connects to this a remote machine the but this error which is the library UZ tricks poles this machine in a way that the client can connect the guests which is the mission itself and the protocol which use how we define all those components to communicate with each other so the space protocol then we'll define a set
of channels a set of the no interfaces that the the server will then expose to the client so the
severed usually uh connects to the collection and fix all this information and basically uh provides this this interfaces to the client now we have for instance the display channel which is basically what you see on the drawing the input channel it could be the keyboard the mouse so
can interact with it the course of general which basically to send the shape position of the malls and there and and the position itself last song channel actually Chih-Jen of by vector and the channels we can do input and output I can use the channels that you can for instance through direct question arises webcams and any other device in In this presentation and are mainly focus on the display channel to understand how it works and the optimization that we did that the last years or so so but if you have any other questions in regard to other channels and how it works and I'm have it should take them the so by displayed how it
works but what what does it but what does this server do here is that it takes all the image from the guess and have a high weight should send it to the clients of the client just take the image and server is the 1 that will send it to the client not whole
usually works in environmental machine you just want to have a replication is true do if you want you to do some drawings on handling visually tasks for the driver and drew the driver do should do there to that due to the rendering for you but when you're talking about remote and there is no real need to do the job should do the rendering on the remote machine so what happens is that the major driver will provide his interest you have I Spy server which then will send it to the content so but basically it's like that you get any any of it that you have to be sent to the client now we start to think about some musicians so if you have just an up-to-date do you want to send its everything so in this example is like the and sending that image was the whole background which is not really and then the resources smart right we just need that's part that position that is being updated to be sent so says that we also can do some compression on the image itself so that's what spice usually do this by channel just think what is being handed and against who maybe comprise the image and then send it to the client and then I do have a small the moment
moderate so I here I
have a remote era which is a acquired bias sticky client and also be in sequence and collect information here locally and then passing this argument that as in the in the we cannot see what
can you say yeah that's of yeah
so you gave by the late so what does it do our client is adjudicated visit so with this argument we can just say every time that you did something and give me some information about about it so you see it's Red and yet you seeing the top right
there every 2nd there is a of making the screen so basically that's what happened the guest that this provides this information to the to the server it sends just this that by its very good and wise into consider the movement my mouth here every time that there date there'll be something at by the way the because it's client side there are down I so the question was uh why there is no droning for animals so you see that you're updating be against there but the model is not so what happens is that the spot by tries you his those marked which you avoid that showing the delay that happens between the client and again so we just get the position and through the course of shape you also know the shape of the modes and we do the drawing on the client side so uh so this is in part of everything uh so that's why uh this is like the which itself will be updated by the Moses and thought of that so that's the reason you see that if I and the you see that the most does not
change here because it because it's like the client side of small OK so good question questions
and and so that's generally how it works but not yet had you
here you see a lot of this here
so station was to show you a video mean playing against don't
have In the 2nd of the half
so you can pursue what will happen when the video this is being played what will
happen is a lot of updates in that region yeah so what yeah and then uh it become the it a bit hard to optimize everything because it sort of updates being done it's just raw image at this
point so what can we do about it the the
have so basically if we have a lot of a base in the same region and display only guess we
can just converted to a string which is made for its basically so despise those have energy back support for several years but that's not really then replies clues or it does not it's not really something new or user for 4 different kind of type of clients so we gesture which has got support for the PhD benign as well it should 6 4 and it becomes very easy to expand that 2 new features new new collects logistic so you guys know underestimates the there's in 1 OK cool so just a basic overview histories a framework for multimedia applications and if there's chew takeaways from just is that it's a pipeline-based which means that is very flexible so before aren't you she the user of a pipeline for the call chewing cold of industry and you string in which is the case after you get it working we just need to move something and replace it and then we can get the different aquatic at the totally different and also it's very easy to stand because of that because if you just need something new plug for instance the you don't each reinvent the wheel and write everything else just that would mean that you need so you have basically more and basic run for histories this gestural launched so through provide a 2nd to show you quickly as
well the like this it's like or
that you can do a lot with the already
like this this other pattern as
well and is this pattern is called is knowing this very nice tional what it because you know it's like an hour to being back in the old days and why it's so interesting is because for this is a nightmare for video quality right so it means that there is like the worst case for attaching called the string so that's something we're that shows use for testing and so on the we so how
it works to test so basically is visible the same thing so we get all the image but in the whole thing this by server and then we use a pipelined in uh gestural pipeline to convert those schemas
in a video stream no yeah so basically the 3 main airplanes that we use this app source steps in can during colder and that mean that we just need to change the drink order to change its 2 different the string types and then we can send it to the client In the client basically is just the opposite we get the industry and then we use the the the the caller to get the image or several lemurs and then we can just draw it on the client yeah that was what how we were doing but congestion actually they have the for this kind of obligations they have no generic plug called pleading for instance that do everything so you just need to provide them there some some some some important they would build according the congenic they they they do with their you don't need to deal with the the caller for instance had to find it automatically and we almost by itself so that's that's something you know their this means on the client and it's very nice also because it can do that without effort in support of the dual US accelerated the harder accelerated for decoding and we just need the pudding stand data driver capable of that and and of course
the harder it so so 3 main with spies who
benefits with it so yeah as I mentioned
before we just had Mangeot bag and that's not much useful because if you think about like we do have web clients for instance and there is like a lot you support foragers 6 for the PAT anime and they usually are working in the back into the harder to call the itself as well uh auditing kinds like respite your this small of low-end machines also usually do have some sort of a hundred according so if we can just send them the right the industry they will have a better you have a better interface expires ready for it to be a more smooth the musicians song of course the soup uses rule go down and beat because of that the FIL I do so this presentation before and it a friend of mine and we had to the stops in the hold the stops string connected to his the scope and so on but that it was not really in the mood to comes from triple public here with to this to choose whether tops so just recorded at see if I can
do it to it it that the use of it is
the is and the caller on become all
are best case usually it's 1st
by stooks relative to its but is
this is a streaming nature 6 for the whole desktop and yeah it works
quite well and it's using a few new
features uh thrown in upstream that just got into spies political Nova de is here for quite some time but it Virgil only works locally yeah it that it works it would be it works quite well but this is actually a guess
streaming using in the set that's true so the current goes to the guests we get that buffer use it for for streaming hand yeah and it it it's this point that inspires protocol just got accepted and hopefully in the near
future we have the the and another component that we do it in the guests that might do for Intel any the data and maybe others the yeah so for the
future we do have the it's a lot of work on 0 start from from the to which is a lot of great importance so spice remotely works with that and that this should be and for real-time
video streaming it's not really a good because of the accent on the phone for the call so we are really considering going for annual I type of channel that to use are to the top of the B so we hope to gain some of us have so reduced Laplacians on but we do need some weights you we had those things implemented but they
don't work quite well in a way to do the dynamic changes in this chain itself so for instance uh you're remote we're trying to stream at 4 K display which is a lot of data even for decoding sometimes even hard for harder according so if it's not working well for a client it's not true that all we need to send some information to the to the server that the is dropping a lot of friends for instance and the server should use it as inputs to change if the 2 of lower quality or something like that and so we are just in the stage of getting everything in some good so like working well and then we're going to work on those things a better hand doing for hard cold and according to which is so as I said now in the client side we just looked his being which dose of almost everything for so we few if you have DAPI putting any del based system you just works but if you have a different our professor maybe any video card and it's something that needs to be developed even ingestion itself I can new jeans or something that needs to get more mainstream and hour during cold its it's long long run it's it to take some time because it's something that we are not working on right now we are working with different perspective for not so this will take an evening at least another year it should be in in some interesting shape yeah that's it I
think a special thanks for calling you although we regard as the France 1 Germany because they were the ones that are actually brought this Tristram at cultures spices and check them check and the site of them the use of weakest and stuff from programs which was my friend and in this presentation before he is my friend in the presentation before and part of this latest thanks to him and yet that that do you have any questions on literature I
was there and you in which it was just like that this life depends on your use case so uh it depends on what you're comparing as well there are some presentation to compare all of them there all of them have some benefits in some drawbacks so spice is really cool that there are several well I and is that they a precise allow the 18th 5 but there are pros and cons in every respect and wire adventure shoes is I think you have to consider the possibility that some of the provided you FIL the Northwoods wants Corporate up prices they I at the not trying proprietary version so far uh I know for instance there is no such as fuel and they do very well winging harder encoding according the 0 that companies huge companies just visit for this so you provide the solutions but their proprietary or area I and receptor so yeah it depends if you want to do phrases for k rendering on the public spice will not be fully enough the yeah in all use the the the the the the the the the cost of all new yeah disagree if yes yeah that was on the question was that he will say about the uh How spice works well which was for instance so for instance I get a fixed some bugs are always be for instance and there is this guy who was redirecting his web can cross motion so from and I think shook Republic to not the America and the edge was usually kill of memory being users and but there in general you can just do it like that just a director right can connect Skype people who want or 1 of the things that we have shared folders we have I met this or dual synchronization you will and then we have a few features that can think it's nice to have a lot of it it was 1 so that's correct depends on their destroyed about for instance we provided its new thing it's due to with the so when you download the packages that you constant the it also it also works for Windows as well so you're a Windows you have you need the west indicating it's a different thing and then it it you can share your your USB devices from Windows and client to any gets yeah I my you do the or you want and the so that the yeah the question was the further with the spice andjust America if we do have the possibility to not string the whole the stopped it actually yes it's uh it depends on on conflagration so we have 2 types of aggression in the whole so there are actually several solutions for instance we can do a chest sites streaming so we have some someone in against that provide this floor maybe some by devising the guess that has this frame buffer and maybe even encoded so we can just use it and we have the whole side which is used and the whole side of the whole side streaming at the protocol its base it on that you can you can actually if you have 2 videos being played it to be 2 different strains and it's usually like that so so yeah that's actually the default now if you use different so for instance for connecting to Burma tho we do have this vector x 11 spies which works on excited and it does using X buffer to stream everything and that's only the whole this stuff but if you're talking about recollections it's more flexible and that is all the the well this is the by
this is a very and are mobile phone for all in it's it's it's that's not support the others from community here but they but they were quite well actually last year there or company but I think a company that was both from Telefonica thing and they provided the 2 more clients a web client that's not they're not or spices from a 5 it's a different 1 and they have a they own and the moment that runs on the gas which does a lot of optimization so works quite well and also I think Android and IOS I think I us as well I kind the In this work we use that's a bit much not yet produce tumor is another they're they're quite think it's based on sparsity K which is the reverse that use just merit in quiet but but I don't think at the point that the really is this we had on the cold so maybe maybe not URIs works quite well in iris and so on so might not be so hard to have it but yeah there will also what interim should B K that