On Thu, Feb 8, 2018 at 8:57 AM, Nick Couchman <[email protected]> wrote:

> On Wed, Feb 7, 2018 at 12:25 PM, brian mullan <[email protected]>
> wrote:
>
>> Could something like this be used to stream the user's remote desktop to
>> the client as a video stream?
>>
>>
> It could, yes, but I'm not certain why you'd want to do this in
> Guacamole.  Guacamole, while having server and client components, is, at
> its core, a protocol.  It's a protocol used to handle streaming remote
> desktop information efficiently over HTTP or WebSockets.  While I see a
> little bit of overlap, I'm not sure I see a huge amount of value in trying
> to use it with Guacamole or replace the Guacamole protocol.  Maybe I'm just
> missing something, here, though?
>
>
>> Maybe that's not the ordinary use for it but the article does say it
>> supports Websocket and I thought I remembered Guacamole did also.
>>
>
> Yes, WebRTC relies on WebSockets, and Guacamole can use WebSockets (or
> fall back to HTTP).
>
>
I was under the impression that WebRTC relies on its own protocol for
transport, not WebSocket.


>> So thought I'd ask if this could be useful/used for a remote desktop
>> capability.   Mouse & keyboard events sent to the remote server and the
>> remote desktop server's output being streamed via RTC back to the client?
>>
>>
> I'm not sure I see any value to it for the Guacamole project, but, again,
> I could be missing something.  Maybe one of the other developers can chime
> in with their thoughts...
>
>
There is (potentially) some value here when it comes to streaming data
which cannot be efficiently streamed as a series of traditional image
updates. Things like 3D gaming and watching videos do not lend themselves
well to being repeatedly encoded with PNG. Though Guacamole currently gets
around this through leveraging JPEG and WebP where appropriate, encoding to
video could be an improvement there.

Last I checked, while WebRTC does provide for real-time streaming of video,
it provides no way of programmatically creating that stream. If you want to
use WebRTC for a stream, you have to use it all the way, with the server
side implementing WebRTC strictly as specified. In the case of Guacamole,
this would mean that the WebRTC stream would have to be separate from the
WebSocket connection, with the creation of that WebRTC stream being
signalled/negotiated and tied to a Guacamole display layer through
Guacamole protocol instructions.

- Mike

Reply via email to