[ 
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)

Reply via email to