[pulseaudio-discuss] Streaming sound from pulseaudio over the internet, for use with VNC

Tanu Kaskinen tanuk at iki.fi
Tue May 11 09:54:20 PDT 2010


On Tue, 2010-05-11 at 09:41 -0400, Bill Cox wrote:
> A huge problem we have is supporting blind users.  In some cases, they
> can open VNC ports for me, and I can often find out what's wrong with
> their system.  However, I never know for sure if speech is playing.
> What I really want is to mirror the pulseaudio output stream over the
> internet to my machine, so I can hear what they hear.
> 
> Is this possible?  We might be able to write a bit of code to make all
> this a bit easier for users.

I don't think Pulseaudio's native streaming protocol is suitable for
over-the-internet streaming. If the requirement is really just to know
whether speech is playing (i.e. you don't care about latency), I think a
proper internet streaming program (e.g. icecast) can do the job. I
remember seeing gstreamer one-liners that are supposed to set up a
simple temporary icecast server. Indeed, googling for "gst-launch
pulsesrc shout2send" gives good looking results. Unfortunately, it looks
like the gst-launch one-liner requires setting up a "proper" icecast
server beforehand, which at least I wouldn't like to do if I wanted to
just temporarily stream audio out of my machine for debug purposes.

Anyway, I'd personally look for solutions that allow you to just hook
into the sound card's monitor source in Pulseaudio and easily set up a
temporary streaming server.

If you want to try if Pulseaudio's native protocol is good enough,
setting up a debug session would consist of loading
module-native-protocol-tcp with the "auth-anonymous=1" argument, opening
a port in the firewall if needed, and then on your own machine running

    $ parec --server=123.123.123.123 --device=foobar.monitor | pacat

where "123.123.123.123" is the IP address of the machine that needs
debugging and "foobar.monitor" is the name of the monitor source of the
sound card on the user's machine. Tearing down the debug setup requires
just unloading the module that was loaded earlier, and closing the
firewall port.

-- 
Tanu Kaskinen




More information about the pulseaudio-discuss mailing list