On Sat, Mar 10, 2018 at 9:44 AM, Antony Awaida <ant...@apporto.com> wrote:
> Hi Mike: > > Is there a way to tell Guac if this is a video stream - just pass it > through to the client without going through the codec process? > > Not exactly, but that wouldn't be a workable solution in the general case. Even if it were possible to hook into the video stream within the browser within the remote desktop, that video stream is in some arbitrary codec supported by that browser, initially negotiated between the site streaming the content and the browser itself. There is no guarantee that the codec agreed upon by that browser will be supported by the browser of the user on the Guacamole connection, let alone all users sharing that connection via Guacamole's screen sharing capabilities. More efficient handling of video streams is still possible long term through either or both of the following: 1) Adding hardware encoding support. While PNG may not lend itself well to this, JPEG and WebP both have hardware encoders via GPU, and the compression used by PNG (deflate) does have hardware implementations (via dedicated cards). Offloading encoding of graphics to hardware would remove the majority of processing requirements for things like watching YouTube. Simply adding hardware encoding support for JPEG and WebP would be low-hanging fruit here, given the ready availability of those encoders and the fact that Guacamole will already automatically switch over to JPEG/WebP when it heuristically detects video. 2) Implementing a Windows driver that implements the Guacamole protocol, similar to the work-in-progress Guacamole driver for the X.Org X11 server. Regardless of whether hardware encoding is added, this would offload the actual encoding of graphics to the remote desktop. This would not be an easy task, but would probably be a good option to have. - Mike