[
https://issues.apache.org/jira/browse/GUACAMOLE-1413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17408458#comment-17408458
]
Mike Jumper commented on GUACAMOLE-1413:
----------------------------------------
An option to downsample and/or reduce the number of audio channels (beyond what
the RDP server is already providing) is possible. I'm not fully convinced it's
_worth_ doing, but it's possible. Lanczos is what we've used elsewhere to
minimize aliasing from resampling.
I think effort would be better spent supporting playback of Vorbis.
> 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 Nyquist–Shannon sampling theorem,
> Discrete Fourier Transformation DTFT and audio signal aliasing must be
> studied for deeper understanding before implementation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)