question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RDP Audio Support

See original GitHub issue

First off sorry for the wall of text.

Short and to the point question does anyone have a functional RDP client with audio support for guacamole-lite they could share?

On the surface I think maybe guacamole-lite might not be passing file/audio output and input streams from guacd to the javascript client through the websocket tunnel. Though I am not sure, thus why I am reaching out.

I have been trying to reverse engineer audio support from the stock java client, and as far as I can tell they do not do anything special and the base guacamole-common should negotiate the additional InputStream needed for the raw PCM audio supported by modern browsers. In my custom app and the default java client I am using identical code for the client: https://cdn.jsdelivr.net/npm/guacamole-client@1.0.0/dist/guacamole-client.min.js

When negotiating the connection I am getting identical lines back from guacd with both my custom client/guacamole-lite and the stock java client, so I believe the audio= connectionstring parameters might be redundant as that happens regardless of if they are included or not:

guacd[8]: INFO:	Accepted format: 16-bit PCM with 2 channels at 44100 Hz
guacd[8]: INFO:	Accepted format: 16-bit PCM with 2 channels at 22050 Hz

From a debugging standpoint I have gone through and captured Guacamole.Tunnel.oninstruction events client side and have noticed that specifically there are no audio opcodes being sent to the client to process that are normally processed by this clientside: https://github.com/apache/guacamole-client/blob/32b106b982dc74e71e1cbb3d2c5e0c5b9b9a8bab/guacamole-common-js/src/main/webapp/modules/Client.js#L884

From a due diligence standpoint I use Docker for development and deployment, if anyone is interested in helping out or debugging you can simply run this Docker container:

docker run --name taisun -d \
--restart always \
-p 3000:3000 \
-p 8000:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
taisun/webapp

If you hop on port 8000 the rdp client can be found under public/js/rdp.js

You can spinup an RDP client and a guacd instance from the web interface on port 3000 under VDI (no parameters are needed outside of the name)

Also just a side note I have functional audio in the VDI endpoints with xrdp and pulseaudio, I have tested them functional with multiple clients including stock guacamole client 1.0.0 and 1.1.0.

Another thing to mention is after this projects(guacamole-lite) inception Guacamole shifted all the audio tunneling code to raw PCM vs a mix of different mimetypes(ogg vorbis etc) in 0.9.9, not sure if that matters just bringing it up.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

3reactions
cblkcommented, Jul 13, 2020
  1. replace the code in GuacdClient.js this.sendOpCode(['audio']); with this.sendOpCode(['audio', 'audio/L16']);
  2. add onaudio event handler
guac.onaudio = function clientAudio(stream, mimetype) {
    let context = Guacamole.AudioContextFactory.getAudioContext()
    context.resume().then(() => console.log('play audio'))
}
0reactions
thelamercommented, Jul 15, 2020

Reference PR: https://github.com/vadimpronin/guacamole-lite/pull/32 Closing this issue , huge thanks to @cblk !!!

Read more comments on GitHub >

github_iconTop Results From Across the Web

How do I enable audio over Remote Desktop? - Knowledgebase
Phone Support: 866.923.4550 ... There are two basic steps which need to be taken to ensure audio is enabled on ... Enable RDP...
Read more >
How to enable audio or microphone on a Remote Desktop ...
Enable the remote audio and microphone devices over RDP · 1. Open advanced RDP settings · 2. Switch to the 'Local Resources' tab...
Read more >
How to Hear Audio from the Remote PC when Using Remote ...
1. Download and open the Microsoft Remote Desktop app. Press “Free” to download and “Open” once the installation completes. Android and iOS versions of...
Read more >
Remote Desktop Connection not pulling in audio from local ...
On the remote desktop, in Windows 10 settings, I see the remote audio is selected as output, but it has no input devices...
Read more >
How to enable audio over RDP on a Windows Server
Launch Remote Desktop Connection · Click to expand Options, if it is not already. · Click the Local Resources tab. · Under “Remote...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found