[
https://issues.apache.org/jira/browse/GUACAMOLE-1413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Juergen Kuri updated GUACAMOLE-1413:
------------------------------------
Description:
h3. Context
We want to use the Guacamole RDP proxy server with full audio support using
# audio input redirection, rule {{enable-audio-input=true}}
# audio output redirection, rule {{disable-audio=false}}
In the source code, header file {{src/pulse/pulse/pulse.h,}} we see the
following constants for the Pulse Audio library for PCM modulator
parametrisation of the RDP server:
{code:c}
/**
* Rate of audio to stream, in Hz.
*/
#define GUAC_PULSE_AUDIO_RATE 44100
/**
* The number of channels to stream.
*/
#define GUAC_PULSE_AUDIO_CHANNELS 2
/**
* The number of bits per sample.
*/
#define GUAC_PULSE_AUDIO_BPS 16
{code}
h4. Problem
Parameter of interest:
* {{GUAC_PULSE_AUDIO_CHANNELS 2}}
For remote users with an internet connection with low network bandwidth, it
might be useful to have sessions with just *_one_* audio channel, mono instead
of stereo expecting utilising just half of the network bandwidth for the part
of audio blob transmission.
Is this assumption correct, transmitting just one audio channel would half the
network bandwidth utilisation for audio blobs?
h3. Feature
Add another rule parameter for an individual RDP server session or connection
respectively
* for database table {{guacamole_connection_parameter}}
which allows us to parametrise the number of simultaneous audio channels to be
transmitted *_in both redirections_*, audio in- and output.
Possible parameter names might be:
* {{disable-audio-stereo}}, default {{false}}
* {{enable-audio-mono}}, default {{false}}
* {{audio-channels}}, \{1|2}, default {{2}}
If this is not feasible or difficult to implement for some reasons, add a
corresponding parameter to daemon configuration file
* {{guacd.conf}}
* or {{guacamole.properties}}
affecting all RDP sessions in the same way.
h3. Also of Interest
The parameter {{GUAC_PULSE_AUDIO_RATE}} would also help to reduce network
bandwidth if we reduce the sampling rate of the PCM modulator. If full audible
audio bandwidth is not needed cause we just transmit speech for example, the
sampling rate can be reduced as we know it for telephone lines (audio bandwidth
300 Hz to 3400 Hz). This however, is more complex, a low-pass or an
anti-aliasing filter must be programmatically implemented avoiding audio signal
aliasing. Topics like Discrete Fourier Transformation DTFT and aliasing must be
studied before implementation for deeper understanding.
was:
h3. Context
We want to use the Guacamole RDP proxy server with full audio support using
# audio input redirection, rule {{enable-audio-input=true}}
# audio output redirection, rule {{disable-audio=false}}
In the source code, header file {{src/pulse/pulse/pulse.h,}} we see the
following constants for the Pulse Audio library for PCM modulator
parametrisation of the RDP server:
{code:c}
/**
* Rate of audio to stream, in Hz.
*/
#define GUAC_PULSE_AUDIO_RATE 44100
/**
* The number of channels to stream.
*/
#define GUAC_PULSE_AUDIO_CHANNELS 2
/**
* The number of bits per sample.
*/
#define GUAC_PULSE_AUDIO_BPS 16
{code}
h4. Problem
Parameter of interest:
* {{GUAC_PULSE_AUDIO_CHANNELS 2}}
For remote users with an internet connection with low network bandwidth, it
might be useful to have sessions with just *_one_* audio channel, mono instead
of stereo expecting utilising just half of the network bandwidth for the part
of audio blob transmission.
Is this assumption correct, transmitting just one audio channel would half the
network bandwidth utilisation for audio blobs?
h3. Feature
Add another rule parameter for an individual RDP server session or connection
respectively
* for database table {{guacamole_connection_parameter}}
which allows us to parametrise the number of simultaneous audio channels to be
transmitted *_in both redirections_*, audio in- and output.
Possible parameter names might be:
* {{disable-audio-stereo}}, default {{false}}
* {{enable-audio-mono}}, default {{false}}
* {{audio-channels}}, \{1|2}, default {{2}}
If this is not feasible or difficult to implement for some reasons, add a
corresponding parameter to daemon configuration file
* {{guacd.conf}}
* or {{guacamole.properties}}
affecting all RDP sessions in the same way.
h3. Also of Interest
The parameter {{GUAC_PULSE_AUDIO_RATE}} would also help to reduce network
bandwidth if we reduce the sampling rate of the PCM modulator. If full audible
audio bandwidth is not needed cause just transmit speech, the sampling rate can
be reduced as we know it for telephone lines (audio bandwidth 300 Hz to 3400
Hz). This however, is more complex, a low-pass or an anti-aliasing filter must
be programmatically implemented avoiding audio signal aliasing. Topics like
Discrete Fourier Transformation DTFT and aliasing must be studied before
implementation for deeper understanding.
> RDP Session Parameter for the Number of Audio Channels to be transmitted
> ------------------------------------------------------------------------
>
> Key: GUACAMOLE-1413
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-1413
> Project: Guacamole
> Issue Type: New Feature
> Components: guacamole, guacd
> Reporter: Juergen Kuri
> Priority: Major
>
> h3. Context
> We want to use the Guacamole RDP proxy server with full audio support using
> # audio input redirection, rule {{enable-audio-input=true}}
> # audio output redirection, rule {{disable-audio=false}}
> In the source code, header file {{src/pulse/pulse/pulse.h,}} we see the
> following constants for the Pulse Audio library for PCM modulator
> parametrisation of the RDP server:
> {code:c}
> /**
> * Rate of audio to stream, in Hz.
> */
> #define GUAC_PULSE_AUDIO_RATE 44100
>
> /**
> * The number of channels to stream.
> */
> #define GUAC_PULSE_AUDIO_CHANNELS 2
>
> /**
> * The number of bits per sample.
> */
> #define GUAC_PULSE_AUDIO_BPS 16
> {code}
> h4. Problem
> Parameter of interest:
> * {{GUAC_PULSE_AUDIO_CHANNELS 2}}
> For remote users with an internet connection with low network bandwidth, it
> might be useful to have sessions with just *_one_* audio channel, mono
> instead of stereo expecting utilising just half of the network bandwidth for
> the part of audio blob transmission.
> Is this assumption correct, transmitting just one audio channel would half
> the network bandwidth utilisation for audio blobs?
> h3. Feature
> Add another rule parameter for an individual RDP server session or connection
> respectively
> * for database table {{guacamole_connection_parameter}}
> which allows us to parametrise the number of simultaneous audio channels to
> be transmitted *_in both redirections_*, audio in- and output.
> Possible parameter names might be:
> * {{disable-audio-stereo}}, default {{false}}
> * {{enable-audio-mono}}, default {{false}}
> * {{audio-channels}}, \{1|2}, default {{2}}
> If this is not feasible or difficult to implement for some reasons, add a
> corresponding parameter to daemon configuration file
> * {{guacd.conf}}
> * or {{guacamole.properties}}
> affecting all RDP sessions in the same way.
> h3. Also of Interest
> The parameter {{GUAC_PULSE_AUDIO_RATE}} would also help to reduce network
> bandwidth if we reduce the sampling rate of the PCM modulator. If full
> audible audio bandwidth is not needed cause we just transmit speech for
> example, the sampling rate can be reduced as we know it for telephone lines
> (audio bandwidth 300 Hz to 3400 Hz). This however, is more complex, a
> low-pass or an anti-aliasing filter must be programmatically implemented
> avoiding audio signal aliasing. Topics like Discrete Fourier Transformation
> DTFT and aliasing must be studied before implementation for deeper
> understanding.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)