Re: 1.2.0 WAR build issue guacamole-client

2020-06-27 Thread Sean Reid
Hi Tom,

What version of the JDK are you using?

Sean

On Sat, Jun 27, 2020 at 4:06 AM Daniëls, Tom  wrote:

> Hi Nick,
>
>
>
> Thanks for the quick response and advise!
>
> Unfortunately the issue remains unresolved;
>
> user@guac:/home/user/git/guacamole-client# git fetch
>
> user@guac:/home/user/git/guacamole-client# git checkout staging/1.2.0​
>
> Branch 'staging/1.2.0' set up to track remote branch 'staging/1.2.0' from
> 'origin'.​
>
> Switched to a new branch 'staging/1.2.0'​
>
> user@guac:/home/user/git/guacamole-client# git reset --hard
> origin/staging/1.2.0​
>
> HEAD is now at 21ec5640a GUACAMOLE-728: Merge changes leveraging
> PostgreSQL's legacy "ssl" parameter only for disabling SSL.​
>
> ​
>
> [INFO] Reactor Summary:​
>
> [INFO]​
>
> [INFO] guacamole-common 1.1.0 . SUCCESS [
>  9.397 s]​
>
> [INFO] guacamole-ext 1.2.0  SUCCESS [
>  9.934 s]​
>
> [INFO] guacamole-common-js 1.2.0 .. SUCCESS [
>  1.422 s]​
>
> [INFO] guacamole 1.2.0  SUCCESS [
> 14.684 s]​
>
> [INFO] guacamole-auth-cas 1.2.0 ... SUCCESS [
>  3.193 s]​
>
> [INFO] guacamole-auth-duo 1.2.0 ... SUCCESS [
>  2.998 s]​
>
> [INFO] guacamole-auth-header 1.2.0  SUCCESS [
>  0.359 s]​
>
> [INFO] guacamole-auth-jdbc 1.2.0 .. SUCCESS [
>  0.293 s]​
>
> [INFO] guacamole-auth-jdbc-base 1.2.0 . SUCCESS [
>  3.441 s]​
>
> [INFO] guacamole-auth-jdbc-mysql 1.2.0  FAILURE [
>  1.647 s]​
>
> [INFO] guacamole-auth-jdbc-postgresql 1.2.0 ... SKIPPED​
>
> [INFO] guacamole-auth-jdbc-sqlserver 1.2.0  SKIPPED​
>
> [INFO] guacamole-auth-jdbc-dist 1.2.0 . SKIPPED​
>
> [INFO] guacamole-auth-ldap 1.2.0 .. SKIPPED​
>
> [INFO] guacamole-auth-openid 1.2.0  SKIPPED​
>
> [INFO] guacamole-auth-quickconnect 1.2.0 .. SKIPPED​
>
> [INFO] guacamole-auth-saml 1.2.0 .. SKIPPED​
>
> [INFO] guacamole-auth-totp 1.2.0 .. SKIPPED​
>
> [INFO] guacamole-example 1.2.0  SKIPPED​
>
> [INFO] guacamole-playback-example 1.2.0 ... SKIPPED​
>
> [INFO] guacamole-client 1.2.0 . SKIPPED​
>
> [INFO]
> ​
>
> [INFO] BUILD FAILURE​
>
> [INFO]
> ​
>
> [INFO] Total time:  47.770 s​
>
> [INFO] Finished at: 2020-06-27T07:47:50Z​
>
> [INFO]
> ​
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-compiler-plugin:3.3:compile
> (default-compile) on project guacamole-auth-jdbc-mysql: Compilation failure
> ​
>
> [ERROR] 
> /home/user/git/guacamole-client/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/conf/MySQLEnvironment.java:[390,4]
> error: method does not override or implement a method from a supertype​
>
> [ERROR]​ -> [Help 1]​
>
> [ERROR]​
>
> [ERROR] To see the full stack trace of the errors, re-run Maven with the
> -e switch.​
>
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.​
>
> [ERROR]​
>
> [ERROR] For more information about the errors and possible solutions,
> please read the following articles:​
>
> [ERROR] [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException​
>
> [ERROR]​
>
> [ERROR] After correcting the problems, you can resume the build with the
> command​
>
> [ERROR]   mvn  -rf :guacamole-auth-jdbc-mysql​
>
> ​
>
> Created debug info using command
>
> mvn package -X -rf :guacamole-auth-jdbc-mysql​
>
>
>
> I got these results;
>
> [WARNING] The POM for
> org.apache.guacamole:guacamole-auth-jdbc-base:jar:1.2.0 is missing, no
> dependency information available​
>
> [...]​
>
> ​
>
> [ERROR] Failed to execute goal on project guacamole-auth-jdbc-mysql:
> Could not resolve dependencies for project
> org.apache.guacamole:guacamole-auth-jdbc-mysql:jar:1.2.0: The following
> artifacts could not be resolved:
> org.apache.guacamole:guacamole-ext:jar:1.2.0,
> org.apache.guacamole:guacamole-auth-jdbc-base:jar:1.2.0: Could not find
> artifact org.apache.guacamole:guacamole-ext:jar:1.2.0 in central (
> https://repo.maven.apache.org/maven2) -> [Help 1]​
>
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal on project guacamole-auth-jdbc-mysql: Could not resolve dependencies
> for project org.apache.guacamole:guacamole-auth-jdbc-mysql:jar:1.2.0: The
> following artifacts could not be resolved:
> org.apache.guacamole:guacamole-ext:jar:1.2.0,
> org.apache.guacamole:guacamole-auth-jdbc-base:jar:1.2.0: Could not find
> artifact org.apache.guacamole:guacamo

Re: Using Docker Images with XML Authentication

2020-05-22 Thread Sean Reid
Hi Scott,

It doesn't seem like the Docker images support this. I've never tried to do
this myself with the Docker image, but looking quickly at the bin/start.sh

script that starts guacamole when the docker image starts up, it looks like
you'd need to build a docker image yourself with some changes to that
script so that it doesn't require database information. There are probably
some other changes you'd need to make too, but they didn't jump out at me
as quickly.

Once you've made those changes the start script, you could then either
build a copy of your user-mappings.xml permanently into your custom image,
or you could mount the file at "docker run" time with a the "-v" option
passed to docker.

I hope this at least gives you a little bit of an idea for a path forward,
Sean


On Fri, May 22, 2020 at 12:52 PM Scott Hancock  wrote:

> Hi,
>
> I’m trying the Guacamole docker images. To simplify things I’d like to
> just use the default XML authentication rather than a database. Is there a
> way to configure the docker images to use xml instead of database for
> authentication?
>
> Thanks,
> Scott
> -
> To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
> For additional commands, e-mail: user-h...@guacamole.apache.org
>
>


Re: Hardware Acceleration Support

2020-05-21 Thread Sean Reid
Mike,

I think we'd have to coordinate a little bit to get there. I have it
for guacenc, but I'm familiar enough with libavcodec and libavformat
at this point from the PRs I have worked that I think I could
reasonably work on a POC to get it working in guacd.

In addition, I've spent some minor effort trying to produce valid
HTTP-DASH representations of videos so that it can be easily streamed
to a front end for playback using a simple  tag.

As far as legality, I'm obviously no lawyer, but if it helps, I tend
to favor libx264 which is GPL (and we'd be linking against it rather
than statically compiling it in). However, I'm pretty sure H.264 is
patent-encumbered, so I have no idea how that works when the code is
GPL'd. And I've played with VP8 support too, so there might be an
avenue to move forward there if necessary.


Sean

On Thu, May 21, 2020 at 4:49 PM Mike Jumper  wrote:
>
> On Thu, May 21, 2020 at 1:39 PM Sean Reid  wrote:
>>
>> On Thu, May 21, 2020 at 4:24 PM sciUser  wrote:
>> >
>> > As long as you have a GPU assigned to the VM it will handle the rendering,
>> > Guacamole is just the broker for the RDP protocol.
>>
>> The pixels that come from RDP or VNC may be compressed in some way,
>> but before guacd sends them out to the client, it still has to unpack
>> them and convert them to png, jpeg, webp (if it was compiled to
>> include webp) in the guacamole protocol. With this in mind, I'd be
>> interested in seeing guacd could scale better than it already does
>> with GPU-based image encoding. It's possible we could see more
>> connection to unique displays with GPU encoding.
>>
>> In addition, guecenc is an area I've toyed with adding GPU support to
>> personally since I've spent a lot of time adding H.264 support to
>> guacenc and modern GPUs almost certainly have H.264 hardware encoding
>> support. The issue I ran into was one of user interface: requiring a
>> user to know their set up well-enough to tell guacenc to use the nvenc
>> encoder seemed like a bad UI choice to me, and I had no good ideas for
>> how to automatically detect that support and use it. So I didn't push
>> it too much further. But if you have ideas, I'd love to see optional
>> GPU encoding support there!
>
>
> If you have something (or can have something) which could produce an H.264 
> stream within guacd, I have some working POC code which decodes H.264 streams 
> received within the Guacamole client (streams sent via the "video" 
> instruction and subsequent blobs). The code leverages the "Broadway" H.264 
> decoder.
>
> I think we'd need legal confirmation that including such a decoder and 
> encoder is OK, but overall definitely worth doing. It sounds like we may be 
> closer to having this than I thought.
>
> - Mike
>

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: Hardware Acceleration Support

2020-05-21 Thread Sean Reid
On Thu, May 21, 2020 at 4:24 PM sciUser  wrote:
>
> As long as you have a GPU assigned to the VM it will handle the rendering,
> Guacamole is just the broker for the RDP protocol.

The pixels that come from RDP or VNC may be compressed in some way,
but before guacd sends them out to the client, it still has to unpack
them and convert them to png, jpeg, webp (if it was compiled to
include webp) in the guacamole protocol. With this in mind, I'd be
interested in seeing guacd could scale better than it already does
with GPU-based image encoding. It's possible we could see more
connection to unique displays with GPU encoding.

In addition, guecenc is an area I've toyed with adding GPU support to
personally since I've spent a lot of time adding H.264 support to
guacenc and modern GPUs almost certainly have H.264 hardware encoding
support. The issue I ran into was one of user interface: requiring a
user to know their set up well-enough to tell guacenc to use the nvenc
encoder seemed like a bad UI choice to me, and I had no good ideas for
how to automatically detect that support and use it. So I didn't push
it too much further. But if you have ideas, I'd love to see optional
GPU encoding support there!


Sean

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: libavcodec <> ffmpeg issue with guacamole 1.1.0 building on Centos 7 minimal

2020-05-20 Thread Sean Reid
Hi again,

I had some free time today, so I made a CentOS 7 Minimal virtual
machine and built guacamole-server 1.1.0. I followed the exact
instructions from the Guacamole Manual
(http://guacamole.apache.org/doc/gug/installing-guacamole.html). As I
pointed out in my previous email, "ffmpeg-devel" was unavailable in
the default CentOS 7 repos and in the EPEL repo (yum install
epel-release). So I also set up the RPM Fusion repo (using the Command
Line instructions for RHEL 7 or compatible from
https://rpmfusion.org/Configuration/), then was able to install
ffmpeg-devel.

Following the instructions from the Guacamole Manual and installing
ffmpeg-devel from RPM Fusion allowed me to build, install, and run
guacd and guacenc without any issues.

For the sake of documentation, the versions of the ffmpeg libs on
CentOS 7 when installed from RPM Fusion can be found in /usr/lib64 and
I've listed the .so files that guacenc uses below so that you can
compare to the versions installed on your system.

libavcodec.so.57.107.100
libavutil.so.55.70.100
libswscale.so.4.8.100

I hope this helps.

Sean

On Wed, May 20, 2020 at 7:18 AM Sean Reid  wrote:
>
> Hi,
>
> I have two questions for you: are you planning making screen recordings with 
> guacamole and then converting those recordings into video files once you have 
> it built? And what repository did you add to your CentOS install to get 
> ffmpeg, because as far as I can recall, CentOS 7 does not provide ffmpeg or 
> ffmpeg-devel in it’s official repos.
>
> The reason I ask the first question is because if you’re not going to use it 
> to make screen recordings and convert them into video files, then you can 
> uninstall the ffmpeg dependencies and build guacamole without it. The 
> configure script will skip guacenc and guacenc is only used for converting 
> recordings into videos. So if you don’t need to do that, you can avoid this 
> build issue you’re having entirely.
>
> If you are going to be making video files, then to help I need to know what 
> repository you added to get the ffmpeg dependencies. CentOS doesn’t have 
> ffmpeg in it’s official repositories and different third party repositories 
> have different versions of ffmpeg in it. It would also be helpful to know 
> what version of ffmpeg you got. You can test that by just running “ffmpeg” 
> and grabbing the header of text it prints out when it starts.
>
> Sean
>
> On Wed, May 20, 2020 at 12:22 AM alipawsey  wrote:
>>
>> All good with ./configure:
>> 
>> guacamole-server version 1.1.0
>> 
>>
>>Library status:
>>
>>  freerdp2  yes
>>  pango ... yes
>>  libavcodec .. yes
>>  libavutil ... yes
>>  libssh2 . yes
>>  libssl .. yes
>>  libswscale .. yes
>>  libtelnet ... yes
>>  libVNCServer  yes
>>  libvorbis ... yes
>>  libpulse  yes
>>  libwebsockets ... yes
>>  libwebp . yes
>>  wsock32 . no
>>
>>Protocol support:
>>
>>   Kubernetes  yes
>>   RDP ... yes
>>   SSH ... yes
>>   Telnet  yes
>>   VNC ... yes
>>
>>Services / tools:
>>
>>   guacd .. yes
>>   guacenc  yes
>>   guaclog  yes
>>
>>FreeRDP plugins: /usr/lib64/freerdp2
>>Init scripts: /etc/init.d
>>Systemd units: no
>>
>> "make" hits this error:
>>
>> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libavcodec.so:
>> undefined reference to `opus_multistream_surround_encoder_create'
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [guacenc] Error 1
>> make[2]: Leaving directory
>> `/home/ali/guacamole/guacamole-server-1.1.0/src/guacenc'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory `/home/ali/guacamole/guacamole-server-1.1.0'
>> make: *** [all] Error 2
>>
>> Any advise please?
>> libavcodec handled by ffmped by:
>> yum install ffmpeg ffmpeg-devel
>>
>>
>>
>> --
>> Sent from: 
>> http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/
>>
>> -
>> To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
>> For additional commands, e-mail: user-h...@guacamole.apache.org
>>

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: libavcodec <> ffmpeg issue with guacamole 1.1.0 building on Centos 7 minimal

2020-05-20 Thread Sean Reid
Hi,

I have two questions for you: are you planning making screen recordings
with guacamole and then converting those recordings into video files once
you have it built? And what repository did you add to your CentOS install
to get ffmpeg, because as far as I can recall, CentOS 7 does not provide
ffmpeg or ffmpeg-devel in it’s official repos.

The reason I ask the first question is because if you’re not going to use
it to make screen recordings and convert them into video files, then you
can uninstall the ffmpeg dependencies and build guacamole without it. The
configure script will skip guacenc and guacenc is only used for converting
recordings into videos. So if you don’t need to do that, you can avoid this
build issue you’re having entirely.

If you are going to be making video files, then to help I need to know what
repository you added to get the ffmpeg dependencies. CentOS doesn’t have
ffmpeg in it’s official repositories and different third party repositories
have different versions of ffmpeg in it. It would also be helpful to know
what version of ffmpeg you got. You can test that by just running “ffmpeg”
and grabbing the header of text it prints out when it starts.

Sean

On Wed, May 20, 2020 at 12:22 AM alipawsey  wrote:

> All good with ./configure:
> 
> guacamole-server version 1.1.0
> 
>
>Library status:
>
>  freerdp2  yes
>  pango ... yes
>  libavcodec .. yes
>  libavutil ... yes
>  libssh2 . yes
>  libssl .. yes
>  libswscale .. yes
>  libtelnet ... yes
>  libVNCServer  yes
>  libvorbis ... yes
>  libpulse  yes
>  libwebsockets ... yes
>  libwebp . yes
>  wsock32 . no
>
>Protocol support:
>
>   Kubernetes  yes
>   RDP ... yes
>   SSH ... yes
>   Telnet  yes
>   VNC ... yes
>
>Services / tools:
>
>   guacd .. yes
>   guacenc  yes
>   guaclog  yes
>
>FreeRDP plugins: /usr/lib64/freerdp2
>Init scripts: /etc/init.d
>Systemd units: no
>
> "make" hits this error:
>
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libavcodec.so:
> undefined reference to `opus_multistream_surround_encoder_create'
> collect2: error: ld returned 1 exit status
> make[2]: *** [guacenc] Error 1
> make[2]: Leaving directory
> `/home/ali/guacamole/guacamole-server-1.1.0/src/guacenc'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/ali/guacamole/guacamole-server-1.1.0'
> make: *** [all] Error 2
>
> Any advise please?
> libavcodec handled by ffmped by:
> yum install ffmpeg ffmpeg-devel
>
>
>
> --
> Sent from:
> http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
> For additional commands, e-mail: user-h...@guacamole.apache.org
>
>


Re: Automatic convert guacenc m4v

2020-04-29 Thread Sean Reid
Hi Syazin,

There isn't a built-in way to do what you're asking, but it may be
possible to do with a cron job. The cron job could run everyday,
encoding all the files with a timestamp from the previous day. Then
each day, you'd have the recordings from the previous day already
encoded for you.

Sean

On Wed, Apr 29, 2020 at 12:40 AM Syazrin Saruddin  wrote:
>
> Hello all,
>
>
>
> Recently I done setup a connection, the only way to encode the recording 
> session to m4v is by using manual guacenc cmd. Can you suggest an idea how to 
> automatically convert the recording session immediately after disconnect?
>
>
>
> The path is /mnt/guacamole/recordings and to move to another dir 
> /mnt/guacamole/recordings/converted to format -mm for each folder.
>
>
>
> Thanks.
>
>

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: new user - can't compile client, error with Java 11 about javax.xml.bind

2020-04-28 Thread Sean Reid
Hi Chris,

I've been able to build the client using maven with Java 8.

To install 8 on Ubuntu 18.04, you should be able to run "sudo apt
install openjdk-8-jdk", then verify with "java -version" and verify
that you see something that starts with 1.8. If you see some other
version still, running "sudo update-alternatives --config java" should
give you a prompt and allow you to select the java 8 option. Checking
the version after that command should show 1.8 and the client should
build with maven.

Sean



On Tue, Apr 28, 2020 at 7:14 AM Chris Mead  wrote:
>
> Hi,
>
> I’m attempting to build guacamole for the first time, the client won’t 
> compile/build with maven. I get 
> “guacamole-client-1.1.0/extensions/guacamole-auth-cas/src/main/java/org/apache/guacamole/auth/cas/ticket/TicketValidationService.java:[34,21]
>  error: package javax.xml.bind does not exist"…I found a ticket that 
> indicates that something was fixed ( in the apache JIRA instance) but 
> unfortunately I’m not clever enough to understand the suggestion about how to 
> address the situation. I know that particular function was deprecated in java 
> 9/10 and removed in 11, but I don’t know what to do about it now.
>
>
>
> Can someone make a suggestion? I’m running ubuntu 18.04.3 LTS.
>
>
>
> Thanks,
>
> Chris.
>
>
>
> Christopher D. Mead (he/him/his)
> Systems Administrator
>
> Martin J. Whitman School of Management
> 721 University Avenue Suite 114
> Syracuse, New York 13244
>
> t 315.443.3054  f 315.442.1461  e cdm...@syr.edu
>
>
>
> Need help? Email our help desk at wsmh...@syr.edu or call us at 315-443-2342
>
> SYRACUSE UNIVERSITY
> whitman.syr.edu
>
>
>
> The Future of Business is O R A N G E
>
>

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: Screen recording problem on RDP

2020-04-23 Thread Sean Reid
Hi Mao,

I'm assuming by "video" you mean that you recorded the connection with
guacd, then took the recording file and encoded it with guacenc.

While I'm fairly certain that the recording file from gaucd contains all
the audio data, currently guacenc does not produce video files with audio
so you're not missing anything in your setup.

Sean

On Thu, Apr 23, 2020 at 12:03 PM Mao  wrote:

> Hi all,
>
> I installed guacamole and could access a windows machine via RDP correctly.
> I can hear the sound on this virtual machine from my web browser on my
> local
> laptop. But in the screen recording video recorded by guacamole, it is
> without any sound. I do not know why. Is there anything I need to setup?
>
> Thanks,
> Mao
>
>
>
> --
> Sent from:
> http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
> For additional commands, e-mail: user-h...@guacamole.apache.org
>
>


Re: guacenc new parameters

2020-03-27 Thread Sean Reid
That makes sense that the edges would have less noise if they’re generated
directly from the guacamole protocol stream than if they had already gone
through a lossy video encoding process. I’m glad you got something that
works for you!

On Fri, Mar 27, 2020 at 4:40 PM Adrian Owen  wrote:

> Hi Sean,
>
>
>
> Thank you so much.  I will have time tomorrow to pull down and build.
>
>
>
> Moreover my pal has managed to get PNG Snapshots direct from stream.
>
> 1)  Their very clean. The ones from M4V have noise around the edges.
>
> 2)  Running with our –R option (no M4V)  guacaenc completes 3 x faster
>
>
>
> You have been so kind.  I’ll let you know how I get on with H.264 branch.
>
>
>
> Many thanks, Adrian
>
>
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 27 March 2020 20:23
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> Hi Adrian,
>
>
>
> I updated my H.264 branch and rebased it with guacamole-server's master
> branch. You'll obviously need to pull this branch and build from source.
>
>
>
> It makes a few changes to guacenc to support H.264 in an MP4 container.
>
>
>
> First off, you'll only be able to encode one file at a time with H.264,
> rather than in a batch. If you've been using guacenc for batches of files,
> you might need to write a small script to do those batches instead.
>
>
>
> Second, the command line syntax is a little different. You'll want to use
> a command that looks like:
>
> guacenc -i /path/to/recordingfile.guac -o /path/to/destination.mp4 -c
> libx264
>
>
>
> The -i is to specify the input file path, the -o is to specify the output
> file path (and extension), and -c is to specify the codec you'd like to
> use. For this branch, only mpeg4 (which was the codec used for m4v) and
> libx264 (which is ffmpeg's H.264 codec) are supported for the -c argument.
>
>
>
> Third, I did some quick benchmarks to encode the example recording file
> from guacamole-client (recording.guac). I compared the default MPEG4 in M4V
> file against the new H.264 in MP4. It took 8.034 seconds to encode to
> MPEG4/M4V and 10.029 seconds to encode H.264/MP4 on my machine. This is
> about a 24% increase in encoding time. While in your use case, you won't
> have to do the initial encode to M4V, which will probably save you time
> overall, it might be important to note the increased difficulty in encoding
> H.264.
>
>
>
> Finally, I hope it goes without saying that none of this code has been
> reviewed yet. I'm going to be contributing it to the project at some point,
> but as of now, I'm the only one who's ever used it or looked at it, and
> there could possibly be issues that haven't been fixed. It's worked well
> for me and my uses for the last while and I'm hoping it does for you too.
>
>
>
> The branch is located at here:
> https://github.com/sreid8/guacamole-server/tree/guacenc_h264
>
>
>
> Good luck,
>
> Sean
>
>
>
> On Thu, Mar 26, 2020 at 5:00 PM Adrian Owen  wrote:
>
> Thank you Sean.
>
>
>
> I look forward to the update!
>
>
>
> Adrian
>
>
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 20:36
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> I've been working on a series of patches to support h.264 in MP4 for
> guacenc. I have an old branch that has all of it working, but it needs to
> be resurrected and rebased against the latest master of guacamole-server.
> I'll work on getting that done this weekend and let you know where you can
> find it then.
>
>
>
> Sean
>
>
>
> On Thu, Mar 26, 2020 at 4:17 PM Adrian Owen  wrote:
>
>
>
> I run guacenc to get MV4 and then ffmpeg to get H264 MP4 video
>
>
>
> Is there way to go straight to MP4? It would take less processing.
>
>
>
> Thanks,
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 01:32
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> To satisfy my curiosity, do you have an example (even 10 or so minutes
> will do) recording that's representative of the data you're encoding that
> you could share, along with the command you're using to encode it with
> guacenc? I'd be interested in trying to see how long it takes to encode
> with a few different codecs that I've been experimenting with for support
> in guacenc.
>
>
>
> On Wed, Mar 25, 2020 at 8:36 PM Adrian Owen  wrote:
>
> Hi Sean,
>
>
>

Re: guacenc new parameters

2020-03-27 Thread Sean Reid
Hi Adrian,

I updated my H.264 branch and rebased it with guacamole-server's master
branch. You'll obviously need to pull this branch and build from source.

It makes a few changes to guacenc to support H.264 in an MP4 container.

First off, you'll only be able to encode one file at a time with H.264,
rather than in a batch. If you've been using guacenc for batches of files,
you might need to write a small script to do those batches instead.

Second, the command line syntax is a little different. You'll want to use a
command that looks like:
guacenc -i /path/to/recordingfile.guac -o /path/to/destination.mp4 -c
libx264

The -i is to specify the input file path, the -o is to specify the output
file path (and extension), and -c is to specify the codec you'd like to
use. For this branch, only mpeg4 (which was the codec used for m4v) and
libx264 (which is ffmpeg's H.264 codec) are supported for the -c argument.

Third, I did some quick benchmarks to encode the example recording file
from guacamole-client (recording.guac). I compared the default MPEG4 in M4V
file against the new H.264 in MP4. It took 8.034 seconds to encode to
MPEG4/M4V and 10.029 seconds to encode H.264/MP4 on my machine. This is
about a 24% increase in encoding time. While in your use case, you won't
have to do the initial encode to M4V, which will probably save you time
overall, it might be important to note the increased difficulty in encoding
H.264.

Finally, I hope it goes without saying that none of this code has been
reviewed yet. I'm going to be contributing it to the project at some point,
but as of now, I'm the only one who's ever used it or looked at it, and
there could possibly be issues that haven't been fixed. It's worked well
for me and my uses for the last while and I'm hoping it does for you too.

The branch is located at here:
https://github.com/sreid8/guacamole-server/tree/guacenc_h264

Good luck,
Sean

On Thu, Mar 26, 2020 at 5:00 PM Adrian Owen  wrote:

> Thank you Sean.
>
>
>
> I look forward to the update!
>
>
>
> Adrian
>
>
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 20:36
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> I've been working on a series of patches to support h.264 in MP4 for
> guacenc. I have an old branch that has all of it working, but it needs to
> be resurrected and rebased against the latest master of guacamole-server.
> I'll work on getting that done this weekend and let you know where you can
> find it then.
>
>
>
> Sean
>
>
>
> On Thu, Mar 26, 2020 at 4:17 PM Adrian Owen  wrote:
>
>
>
> I run guacenc to get MV4 and then ffmpeg to get H264 MP4 video
>
>
>
> Is there way to go straight to MP4? It would take less processing.
>
>
>
> Thanks,
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 01:32
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> To satisfy my curiosity, do you have an example (even 10 or so minutes
> will do) recording that's representative of the data you're encoding that
> you could share, along with the command you're using to encode it with
> guacenc? I'd be interested in trying to see how long it takes to encode
> with a few different codecs that I've been experimenting with for support
> in guacenc.
>
>
>
> On Wed, Mar 25, 2020 at 8:36 PM Adrian Owen  wrote:
>
> Hi Sean,
>
>
>
> It’s 2 problems in 1.
>
>
>
> Snapshots are needed for input for OCR and I also need make guacenc run a
> lots faster on High res data rich RDP sessions.
>
> I hoped if I could solve the snapshots only option, then it would also
> complete sooner.
>
>
>
> The overall Issue is how many concurrent users can it support with data
> gathered in a timely manner.
>
>
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 00:18
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> I don't think we can provide a definitive answer as to whether mpeg4
> (which is the codec guacenc uses for m4v), jpeg, png, or any other codec
> will be faster always. Often, the ability for a codec to encode quickly
> relative to another depends on the content of the frames it is encoding. In
> addition, individual snapshots add a different type of concern that a video
> doesn't have: extra IO operations. A video is one big binary file, tons of
> images is tons of small binary files. Each image file creation is an extra
> create, write, flush, and close IO operation that video won't have. Whether
> these extra operations add up to a meaningful amount

Re: guacenc new parameters

2020-03-26 Thread Sean Reid
I've been working on a series of patches to support h.264 in MP4 for
guacenc. I have an old branch that has all of it working, but it needs to
be resurrected and rebased against the latest master of guacamole-server.
I'll work on getting that done this weekend and let you know where you can
find it then.

Sean

On Thu, Mar 26, 2020 at 4:17 PM Adrian Owen  wrote:

>
>
> I run guacenc to get MV4 and then ffmpeg to get H264 MP4 video
>
>
>
> Is there way to go straight to MP4? It would take less processing.
>
>
>
> Thanks,
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 01:32
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> To satisfy my curiosity, do you have an example (even 10 or so minutes
> will do) recording that's representative of the data you're encoding that
> you could share, along with the command you're using to encode it with
> guacenc? I'd be interested in trying to see how long it takes to encode
> with a few different codecs that I've been experimenting with for support
> in guacenc.
>
>
>
> On Wed, Mar 25, 2020 at 8:36 PM Adrian Owen  wrote:
>
> Hi Sean,
>
>
>
> It’s 2 problems in 1.
>
>
>
> Snapshots are needed for input for OCR and I also need make guacenc run a
> lots faster on High res data rich RDP sessions.
>
> I hoped if I could solve the snapshots only option, then it would also
> complete sooner.
>
>
>
> The overall Issue is how many concurrent users can it support with data
> gathered in a timely manner.
>
>
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 00:18
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> I don't think we can provide a definitive answer as to whether mpeg4
> (which is the codec guacenc uses for m4v), jpeg, png, or any other codec
> will be faster always. Often, the ability for a codec to encode quickly
> relative to another depends on the content of the frames it is encoding. In
> addition, individual snapshots add a different type of concern that a video
> doesn't have: extra IO operations. A video is one big binary file, tons of
> images is tons of small binary files. Each image file creation is an extra
> create, write, flush, and close IO operation that video won't have. Whether
> these extra operations add up to a meaningful amount of overhead is another
> question entirely.
>
>
>
> To answer both your questions:
>
> 1. Guacenc *could* write snapshots every second of a recording instead of
> encoding video, but it doesn't right now and I don't know that anyone has
> talked about providing code to do that.
>
> 2. It's not possible to know if encoding individual images every second
> would be faster than encoding mpeg4 for the reasons I outlined above.
>
>
>
> This conversation brings up some other questions for me though. What
> problem are you trying to solve? Is it the speed of video encoding? Is it
> that you need screenshots rather than a video for OCR? Maybe understanding
> the whole problem will help us help you.
>
>
>
> On Wed, Mar 25, 2020 at 7:29 PM Adrian Owen  wrote:
>
> Thanks, It’s what I suspected. And I use the typescript, for SSH/TELNET
> already.
>
>
>
> So going back to my question. Would guacaenc support writing snapshots
> every second?  And moreover, if it did that instead of writing M4V would be
> a lot faster?
>
>
>
> An intense high res 1 Hour RDP, can take guacenc 15-30 minutes to complete?
>
> *From:* Mike Jumper [mailto:mjum...@apache.org]
> *Sent:* 25 March 2020 22:26
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> For purely-graphical connections like VNC and RDP, no, OCR would really be
> the only option. Once the data leaves the VNC/RDP server, it's just a
> fragment of an image and has lost all text meaning. If you enable recording
> of keyboard events, you would be able to infer what is being typed, but the
> only way to read the graphical content of the screen would be OCR.
>
>
>
> For connections driven by text like SSH, telnet, and Kubernetes, you can
> leverage Guacamole's support for typescripts. Each typescript is the raw
> text data received from the server prior to being rendered, including
> console codes, coupled with a separate file containing timing information.
>
>
>
> - Mike
>
>
>
> On Wed, Mar 25, 2020 at 1:52 PM Adrian Owen  wrote:
>
> Mike,
>
>
>
> Is there a less convoluted way to grab the text displayed?
>
>
>
> *From:* Mike Jumper [mailto:mjum...@apache.org]
> *Sent:* 25 March 2020 20:42
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> On Wed, Mar 25, 2020 at 8:58 AM Adrian Owen  wrote:
>
> I had an idea for another parameter to guacenc.
>
>
>
> gaucenc generates an M4V file.
>
>
>
> Could it optionally, generate PNG Snapshot images instead. Every second.
> 1.file.png, 2.file.png ….
>
>
>
> Why?
>
>
>
> - Mike
>
>
>
>


Re: guacenc new parameters

2020-03-25 Thread Sean Reid
To satisfy my curiosity, do you have an example (even 10 or so minutes will
do) recording that's representative of the data you're encoding that you
could share, along with the command you're using to encode it with guacenc?
I'd be interested in trying to see how long it takes to encode with a few
different codecs that I've been experimenting with for support in guacenc.

On Wed, Mar 25, 2020 at 8:36 PM Adrian Owen  wrote:

> Hi Sean,
>
>
>
> It’s 2 problems in 1.
>
>
>
> Snapshots are needed for input for OCR and I also need make guacenc run a
> lots faster on High res data rich RDP sessions.
>
> I hoped if I could solve the snapshots only option, then it would also
> complete sooner.
>
>
>
> The overall Issue is how many concurrent users can it support with data
> gathered in a timely manner.
>
>
>
> *From:* Sean Reid [mailto:sean.re...@gmail.com]
> *Sent:* 26 March 2020 00:18
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> I don't think we can provide a definitive answer as to whether mpeg4
> (which is the codec guacenc uses for m4v), jpeg, png, or any other codec
> will be faster always. Often, the ability for a codec to encode quickly
> relative to another depends on the content of the frames it is encoding. In
> addition, individual snapshots add a different type of concern that a video
> doesn't have: extra IO operations. A video is one big binary file, tons of
> images is tons of small binary files. Each image file creation is an extra
> create, write, flush, and close IO operation that video won't have. Whether
> these extra operations add up to a meaningful amount of overhead is another
> question entirely.
>
>
>
> To answer both your questions:
>
> 1. Guacenc *could* write snapshots every second of a recording instead of
> encoding video, but it doesn't right now and I don't know that anyone has
> talked about providing code to do that.
>
> 2. It's not possible to know if encoding individual images every second
> would be faster than encoding mpeg4 for the reasons I outlined above.
>
>
>
> This conversation brings up some other questions for me though. What
> problem are you trying to solve? Is it the speed of video encoding? Is it
> that you need screenshots rather than a video for OCR? Maybe understanding
> the whole problem will help us help you.
>
>
>
> On Wed, Mar 25, 2020 at 7:29 PM Adrian Owen  wrote:
>
> Thanks, It’s what I suspected. And I use the typescript, for SSH/TELNET
> already.
>
>
>
> So going back to my question. Would guacaenc support writing snapshots
> every second?  And moreover, if it did that instead of writing M4V would be
> a lot faster?
>
>
>
> An intense high res 1 Hour RDP, can take guacenc 15-30 minutes to complete?
>
> *From:* Mike Jumper [mailto:mjum...@apache.org]
> *Sent:* 25 March 2020 22:26
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> For purely-graphical connections like VNC and RDP, no, OCR would really be
> the only option. Once the data leaves the VNC/RDP server, it's just a
> fragment of an image and has lost all text meaning. If you enable recording
> of keyboard events, you would be able to infer what is being typed, but the
> only way to read the graphical content of the screen would be OCR.
>
>
>
> For connections driven by text like SSH, telnet, and Kubernetes, you can
> leverage Guacamole's support for typescripts. Each typescript is the raw
> text data received from the server prior to being rendered, including
> console codes, coupled with a separate file containing timing information.
>
>
>
> - Mike
>
>
>
> On Wed, Mar 25, 2020 at 1:52 PM Adrian Owen  wrote:
>
> Mike,
>
>
>
> Is there a less convoluted way to grab the text displayed?
>
>
>
> *From:* Mike Jumper [mailto:mjum...@apache.org]
> *Sent:* 25 March 2020 20:42
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> On Wed, Mar 25, 2020 at 8:58 AM Adrian Owen  wrote:
>
> I had an idea for another parameter to guacenc.
>
>
>
> gaucenc generates an M4V file.
>
>
>
> Could it optionally, generate PNG Snapshot images instead. Every second.
> 1.file.png, 2.file.png ….
>
>
>
> Why?
>
>
>
> - Mike
>
>
>
>


Re: guacenc new parameters

2020-03-25 Thread Sean Reid
I don't think we can provide a definitive answer as to whether mpeg4 (which
is the codec guacenc uses for m4v), jpeg, png, or any other codec will be
faster always. Often, the ability for a codec to encode quickly relative to
another depends on the content of the frames it is encoding. In addition,
individual snapshots add a different type of concern that a video doesn't
have: extra IO operations. A video is one big binary file, tons of images
is tons of small binary files. Each image file creation is an extra create,
write, flush, and close IO operation that video won't have. Whether these
extra operations add up to a meaningful amount of overhead is another
question entirely.

To answer both your questions:
1. Guacenc *could* write snapshots every second of a recording instead of
encoding video, but it doesn't right now and I don't know that anyone has
talked about providing code to do that.
2. It's not possible to know if encoding individual images every second
would be faster than encoding mpeg4 for the reasons I outlined above.

This conversation brings up some other questions for me though. What
problem are you trying to solve? Is it the speed of video encoding? Is it
that you need screenshots rather than a video for OCR? Maybe understanding
the whole problem will help us help you.

On Wed, Mar 25, 2020 at 7:29 PM Adrian Owen  wrote:

> Thanks, It’s what I suspected. And I use the typescript, for SSH/TELNET
> already.
>
>
>
> So going back to my question. Would guacaenc support writing snapshots
> every second?  And moreover, if it did that instead of writing M4V would be
> a lot faster?
>
>
>
> An intense high res 1 Hour RDP, can take guacenc 15-30 minutes to complete?
>
> *From:* Mike Jumper [mailto:mjum...@apache.org]
> *Sent:* 25 March 2020 22:26
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> For purely-graphical connections like VNC and RDP, no, OCR would really be
> the only option. Once the data leaves the VNC/RDP server, it's just a
> fragment of an image and has lost all text meaning. If you enable recording
> of keyboard events, you would be able to infer what is being typed, but the
> only way to read the graphical content of the screen would be OCR.
>
>
>
> For connections driven by text like SSH, telnet, and Kubernetes, you can
> leverage Guacamole's support for typescripts. Each typescript is the raw
> text data received from the server prior to being rendered, including
> console codes, coupled with a separate file containing timing information.
>
>
>
> - Mike
>
>
>
> On Wed, Mar 25, 2020 at 1:52 PM Adrian Owen  wrote:
>
> Mike,
>
>
>
> Is there a less convoluted way to grab the text displayed?
>
>
>
> *From:* Mike Jumper [mailto:mjum...@apache.org]
> *Sent:* 25 March 2020 20:42
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
>
>
> On Wed, Mar 25, 2020 at 8:58 AM Adrian Owen  wrote:
>
> I had an idea for another parameter to guacenc.
>
>
>
> gaucenc generates an M4V file.
>
>
>
> Could it optionally, generate PNG Snapshot images instead. Every second.
> 1.file.png, 2.file.png ….
>
>
>
> Why?
>
>
>
> - Mike
>
>
>
>


Re: guacenc new parameters

2020-03-15 Thread Sean Reid
Hi Adrian,

Is this something you'd be interested in working on? I've worked a bit on
guacenc myself, so I can give you some information that I've found from
working on it.

I'm not confident that you need to think about keyframes much at all from
the perspective of guacenc. From my understanding (and I welcome anyone who
might differ from my understanding or explanation here to jump in), since
the Guacamole Protocol attempts to only send changes, guacenc renders a new
image in memory for each new instruction in the recording file, based on
the previously rendered image. Each new image is just a mutation of the
previous, but itself is a full image. These images are sent to libavcodec
on a periodic that matches the target framerate. This is done because the
guacamole protocol doesn't have a framerate, so to square the circle of
converting to a video with a time base, guacenc holds the image in memory
so that it can repeat sending unchanged frames to libavcodec if no
guacamole protocol instructions mutated the in-memory image. This
implicitly means that each image guacenc sends can be a keyframe, so you
could potentially start the encoding at any frame you'd like.

I'd recommend you look at the logic of video.c
<https://github.com/apache/guacamole-server/blob/master/src/guacenc/video.c>
in the guacenc source to get a better idea about how this process works.

Sean

On Sun, Mar 15, 2020 at 5:17 PM Adrian Owen  wrote:

> Hi Sean,
>
>
> Thanks!
>
>
> I believe that Keyframes are written to video stream, done as work for the
> Player.
>
>
> So I guess it would be StartKeyFrameEndKeyFrame.
>
>
> It would have to start at StartKeyFrame and run 'n' keyframes and stop.
>
>
> So its a matter of scanning the video stream file for keyframes.
>
>
> That is challenging. I am a C programmer, but know not how to identify a
> keyframe while reading the stream.
>
>
>
>
> Adrian
>
>
>
> --
> *From:* Sean Reid 
> *Sent:* 15 March 2020 20:02
> *To:* user@guacamole.apache.org
> *Subject:* Re: guacenc new parameters
>
> Hi Adrian,
>
> I don't see a reason that this wouldn't be possible. I think it would be
> done by guacenc, though, not by ffmpeg. I'd think that guacenc just
> wouldn't start sending the frames to be encoded until, while reading the
> input file, guacenc has reached the start time and stop sending frames to
> be encoded at end time.
>
> Sean
>
> On Sun, Mar 15, 2020 at 1:55 PM Adrian Owen  wrote:
>
>> Hi,
>>
>> ffmpeg allows getting a section of a video file by specifying start
>> seconds and end seconds,
>>
>> Now the Guacamole video steam may not know seconds but:
>>
>> Could Guacenc support  extra parameters: StartPoint Endpoint?
>>
>> And then only generate MV4 between those points.
>>
>>
>> This is a theoretical question,
>>
>>
>> Many thanks, Adrian
>>
>>


Re: guacenc new parameters

2020-03-15 Thread Sean Reid
Hi Adrian,

I don't see a reason that this wouldn't be possible. I think it would be
done by guacenc, though, not by ffmpeg. I'd think that guacenc just
wouldn't start sending the frames to be encoded until, while reading the
input file, guacenc has reached the start time and stop sending frames to
be encoded at end time.

Sean

On Sun, Mar 15, 2020 at 1:55 PM Adrian Owen  wrote:

> Hi,
>
> ffmpeg allows getting a section of a video file by specifying start
> seconds and end seconds,
>
> Now the Guacamole video steam may not know seconds but:
>
> Could Guacenc support  extra parameters: StartPoint Endpoint?
>
> And then only generate MV4 between those points.
>
>
> This is a theoretical question,
>
>
> Many thanks, Adrian
>
>


Re: Support for protocol rdp / vnc is not installed

2020-03-10 Thread Sean Reid
Hi Martin,

In the Guacamole Manual, there are required and optional dependencies.
Building with only the required allows Guacamole Server to build, but it
will not have support for any protocols. The protocols are supplied by the
optional dependencies you have installed when you build guacamole-server.
Please see
http://guacamole.apache.org/doc/gug/installing-guacamole.html#optional-dependencies
.

Install the optional dependencies you need (you may have to find the
equivalent packages for OpenSuse), then rebuild guacamole-server from
scratch and you should have the support you're looking for available. If
you want to check that you installed the correct dependencies, you can
follow the build instructions up to the point where you run "./configure"
script and verify that the script output shows the support you're looking
for under the "Protocol support" section. If the protocol you're looking
for says "no", you can look above to the "Library status" section to see
which libraries are not being found, then investigate from there.

Sean


On Tue, Mar 10, 2020 at 2:06 PM martin.koeditz 
wrote:

> Hello,
>
> I just installed a new version of Guacamole on my OpenSuse Leap 15.1
> server.
> I can connect to Guacamole via browser but the VNC and RDP connections
> fail.
>
> Syslog shows errors:
> Support for protocol "vnc" is not installed
>
> The same for rdp sessions:
>  Support for protocol "rdp" is not installed
>
> So I thought it may be a problem with the libraries.
>
>
> When I read the listing correct, everything is ok. Can I see where
> Guacamole
> looks for its own client libs (libguac-client-rdp.so.0)? I think Guacamole
> cannot find its client libs.
>
> Maybe someone can help.
>
> Thanks
> Martin
>
>
>
> --
> Sent from:
> http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
> For additional commands, e-mail: user-h...@guacamole.apache.org
>
>


Re: Required help for reducing High Bandwidth Utilization of Guacamole

2020-02-22 Thread Sean Reid
Hi Manoj,

Guacd has a few formats at its disposal to send images: PNG, JPEG, and
optionally webp. PNG is lossless, JPEG and webp are lossy. Guacd chooses
heuristically which it will use based on things like the current framerate,
the size of the image, and whether or not PNG is just better at accurately
representing the frame content. These heuristics are not user-controllable,
so the fact that guacd is choosing PNG means that it is the optimal choice
given the current state of the remote display.

Sean

On Sat, Feb 22, 2020 at 11:56 AM Manoj Patil  wrote:

> The only thing that I noticed is that there is no compression between the
> server and the client. Meaning that full sized base64 encoded PNG images
> are send to the client, which causes a high network load (~1.8mb/s)
>
> On Tue, 18 Feb 2020, 09:05 Mike Jumper,  wrote:
>
>> No, unless the RDP server is horribly broken, Guacamole will receive only
>> incremental updates for the changed portions of the screen, and will only
>> forward incremental updates to the client.
>>
>> On Mon, Feb 17, 2020, 18:46 Manoj Patil  wrote:
>>
>>> Mike,
>>>
>>> I am really see on chrome when I am open a forms or any gui  those are
>>> see at client side network tab.
>>> I think this is rendring.
>>>
>>> On Tue, 18 Feb 2020, 00:24 Mike Jumper,  wrote:
>>>
 On Mon, Feb 17, 2020, 10:35 Manoj Patil  wrote:

> Hi mike
>
> Help me in that matter how I am decrypt the tcp packet. And find out
> what data is travel?
>
> I am using domain name with https connection.
>

 You can't. You need to capture the data at a point where it is not
 encrypted.

 - Mike




Re: Guacamole instruction reference/client request full screen update

2019-11-10 Thread Sean Reid
It's a bit of a long story, but I essentially have a private, home-grown
version of the guacamole-client to fit my needs better. The PR I have on
guacamole-server for adding libavcodec is actually related, as that plus
the ability to use guacenc with stdin allows me to record remote display
connections directly into a playable video.

But the short version is that when I begin streaming the Guac protocol
instructions provided by guacd into guacenc directly with my client, often
if the remote display is not changing much and then the recording is
stopped quickly (less than a minute or so), I don't see any result
whatsoever in the video. Admittedly, this could be a function of the fact
that I've deviated so much from the guacamole client, but I do initialize
the connections using the GuacamoleClientCapability and a properly created
tunnel and socket, so my instinct is having me think that I'm not getting
full frames initially, so there's nothing for guacenc to encode if
nothing is really changing on the display, which is the motivation for the
question.

I still have more fact-finding to do to potentially resolve the issue, but
it is a low priority for me at the moment because I have almost no use case
other than my development process to record displays for a short enough
time that this becomes an issue.

On Wed, Nov 6, 2019 at 12:43 AM Mike Jumper  wrote:

> No, there is no such instruction. The closest would be the initialization
> process when a new client joins an existing connection, during which the
> relevant protocol support must synchronize the display state of the new
> client. Other than that, things are essentially always incremental.
>
> Why are you looking for such an instruction?
>
> - Mike
>
>
> On Tue, Nov 5, 2019 at 7:05 PM Sean Reid  wrote:
>
>> I’m looking for a way to programmatically request a full screen update
>> from guacd from guacamole-client. Is there an instruction I can send to
>> guacd from the client to do so?
>>
>> Thanks,
>> Sean
>>
>


Guacamole instruction reference/client request full screen update

2019-11-05 Thread Sean Reid
I’m looking for a way to programmatically request a full screen update from
guacd from guacamole-client. Is there an instruction I can send to guacd
from the client to do so?

Thanks,
Sean


Re: Guacamole poking around, speed-ups...

2019-10-07 Thread Sean Reid
Hi Darren,

The line you pointed out on the guacamole source is the framerate at which
the videos produced by the guacenc video encoder utility play back. It has
nothing to do with live usage of guacamole in the web browser as these
videos are encoded after a live session has already completed and ehe
guacenc utility has been executed against any recorded guacamole protocol
files that guacd produced.

As for why you're seeing latency connecting to VNC sessions on macOS
installs, I can't comment directly, but based on your description, my guess
is that your instinct is correct and that Apple's VNC may be the culprit.

Hope that helps,
Sean

On Mon, Oct 7, 2019 at 3:20 PM Darren Wise  wrote:

> Hey folks,
>
> I'll try to keep this short.. I waffle a bit when explaining stuff..
> Anyway, I love using guacamole it's amazing!
>
> I have been using VNC, RDP & SSH connections all over my LAN and even over
> public IP and while FreeRDP v2 is not yet implemented that still does not
> directly bother me, after trying a number of various Apple Mojave installs
> and using VNC I noticed quite allot more latency when compared to a usual
> linux VNC guacamole instance.. I put this down to Apple not guacamole.
>
> However it got me thinking of ways to speed-up guacamole and after going
> through the source kindly provided online at github:
> guacamole-server/src/guacenc/video.h
>
> line35: #define GUACENC_VIDEO_FRAMERATE 25
>
> -i've modified this myself raising it to 35, 45 & 60 for testing but after
> each re- compile and implementation I see no increase in RDP or VNC
> framerate via the browser, I then needed to back-up with some basic facts
> with regards to numbers because someone coming online and saying they've
> done this but on comparison 'dont personally see much difference' is not
> much to go on.. Hence why installed an FPS counter in firefox but even
> then, the numbers scared me further not hitting even 25 no matter what I
> tried.. Even then, this could or might not be a true estimate based on how
> youd view the figures.
>
> I was wondering if anyone cared to enlighten me on this subject, line 35
> within the video.h file seems to get me nowhere, what have others tried?
> I'm seeking a few commercial deployments utilising guacamole and would also
> love to donate profit earned towards the guacamole developers to further
> development.
>
> Kind regards,
> Darren Wise


Re: Client Build for 1.0.0 on Ubuntu 18.0.4 failing (in maven)

2019-09-20 Thread Sean Reid
Can you try installing openjdk 1.8 and using update-alternatives to build
with 1.8? I know this build works on my machine, but I’m using 1.8

On Fri, Sep 20, 2019 at 11:25 AM Steven Pollock 
wrote:

> Anyone?
>
> On Thu, Sep 19, 2019 at 11:47 Steven Pollock 
> wrote:
>
>> Trying to build the client, but failing with the maven build, open to any
>> ideas
>>
>> *Environment, seems like JAVA_HOME is correct:*
>>
>> *root@ng-cguac*:*/tmp/guacamole-client-1.0.0*# echo $JAVA_HOME
>>
>> /usr/lib/jvm/java-11-openjdk-amd64/
>>
>> *root@ng-cguac*:*/tmp/guacamole-client-1.0.0*# java -version
>>
>> openjdk version "11.0.4" 2019-07-16
>>
>> OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
>>
>> OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3,
>> mixed mode, sharing)
>>
>> *root@ng-cguac*:*/tmp/guacamole-client-1.0.0*# javadoc --version
>>
>> javadoc 11.0.4
>>
>> *'mvn package' output with error:*
>>
>> *root@ng-cguac*:*/tmp/guacamole-client-1.0.0*# mvn package
>>
>> WARNING: An illegal reflective access operation has occurred
>>
>> WARNING: Illegal reflective access by
>> com.google.inject.internal.cglib.core.$ReflectUtils$1
>> (file:/usr/share/maven/lib/guice.jar) to method
>> java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
>>
>> WARNING: Please consider reporting this to the maintainers of
>> com.google.inject.internal.cglib.core.$ReflectUtils$1
>>
>> WARNING: Use --illegal-access=warn to enable warnings of further illegal
>> reflective access operations
>>
>> WARNING: All illegal access operations will be denied in a future release
>>
>> [*INFO*] Scanning for projects...
>>
>> [*INFO*]
>> **
>>
>> [*INFO*] *Reactor Build Order:*
>>
>> [*INFO*]
>>
>> [*INFO*] guacamole-common
>> [jar]
>>
>> [*INFO*] guacamole-ext
>> [jar]
>>
>> [*INFO*] guacamole-common-js
>> [pom]
>>
>> [*INFO*] guacamole
>> [war]
>>
>> [*INFO*] guacamole-auth-cas
>> [jar]
>>
>> [*INFO*] guacamole-auth-duo
>> [jar]
>>
>> [*INFO*] guacamole-auth-header
>> [jar]
>>
>> [*INFO*] guacamole-auth-jdbc
>> [pom]
>>
>> [*INFO*] guacamole-auth-jdbc-base
>> [jar]
>>
>> [*INFO*] guacamole-auth-jdbc-mysql
>> [jar]
>>
>> [*INFO*] guacamole-auth-jdbc-postgresql
>> [jar]
>>
>> [*INFO*] guacamole-auth-jdbc-sqlserver
>> [jar]
>>
>> [*INFO*] guacamole-auth-jdbc-dist
>> [jar]
>>
>> [*INFO*] guacamole-auth-ldap
>> [jar]
>>
>> [*INFO*] guacamole-auth-openid
>> [jar]
>>
>> [*INFO*] guacamole-auth-quickconnect
>> [jar]
>>
>> [*INFO*] guacamole-auth-totp
>> [jar]
>>
>> [*INFO*] guacamole-example
>> [war]
>>
>> [*INFO*] guacamole-playback-example
>> [war]
>>
>> [*INFO*] guacamole-client
>> [pom]
>>
>> [*INFO*]
>>
>> [*INFO*] *---< *org.apache.guacamole:guacamole-common*
>> >*
>>
>> [*INFO*] *Building guacamole-common 1.0.0
>> [1/20]*
>>
>> [*INFO*] *[ jar
>> ]-*
>>
>> [*INFO*]
>>
>> [*INFO*] *--- *apache-rat-plugin:0.12:check *(validate)* @
>> guacamole-common* ---*
>>
>> [*INFO*] Enabled default license matchers.
>>
>> [*INFO*] Will parse SCM ignores for exclusions...
>>
>> [*INFO*] Parsing exclusions from
>> /tmp/guacamole-client-1.0.0/guacamole-common/.gitignore
>>
>> [*INFO*] Finished adding exclusions from SCM ignore files.
>>
>> [*INFO*] 65 implicit excludes (use -debug for more details).
>>
>> [*INFO*] No excludes explicitly specified.
>>
>> [*INFO*] 58 resources included (use -debug for more details)
>>
>> [*INFO*] Rat check: Summary over all files. Unapproved: 0, unknown: 0,
>> generated: 0, approved: 58 licenses.
>>
>> [*INFO*]
>>
>> [*INFO*] *--- *maven-resources-plugin:2.6:resources *(default-resources)*
>> @ guacamole-common* ---*
>>
>> [*INFO*] Using 'UTF-8' encoding to copy filtered resources.
>>
>> [*INFO*] skip non existing resourceDirectory
>> /tmp/guacamole-client-1.0.0/guacamole-common/src/main/resources
>>
>> [*INFO*]
>>
>> [*INFO*] *--- *maven-compiler-plugin:3.3:compile *(default-compile)* @
>> guacamole-common* ---*
>>
>> [*INFO*] Changes detected - recompiling the module!
>>
>> [*INFO*] Compiling 53 source files to
>> /tmp/guacamole-client-1.0.0/guacamole-common/target/classes
>>
>> [*INFO*]
>>
>> [*INFO*] *--- *maven-resources-plugin:2.6:testResources
>> *(default-testResources)* @ guacamole-common* ---*
>>
>> [*INFO*] Using 'UTF-8' encoding to copy filtered resources.
>>
>> [*INFO*] skip non existing resourceDirectory
>> /tmp/guacamole-client-1.0.0/guacamole-common/src/test/resources
>>
>> [*INFO*]
>>
>> [*INFO*] *--- *maven-compiler-plugin:3.3:testCompile
>> *(default-testCompile)* @ guacamole-common* ---*
>>
>> [*INFO*] Nothing to compile - all classes are up to date
>>
>> [*INFO*]
>>
>> [*INFO*] *--- *maven-surefire-plugin:3.0.0-M1:test *(default-test)* @
>> guacamole-common* ---*
>>
>> [*INFO*]
>>
>> [*INFO

VNC Audio in custom client

2019-09-04 Thread Sean Reid
Hi all,

I've been working on a custom client based on guacamole-common-js. While
everything for the most part is working flawlessly, I can't get audio with
VNC to play in my client, but it works flawlessly in the official client.
Is there something explicit I need to do to get audio to play?

Thanks!