[opensuse] "Network Sound"
Hi, I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability. Could someone give me the outline of setting something like this up or point me to some informational materials? Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Tue, Apr 28, 2009 at 9:01 PM, Randall R Schulz <rschulz@sonic.net> wrote:
Hi,
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
Could someone give me the outline of setting something like this up or point me to some informational materials?
Run padevchooser, configure local sound server to accept all connections from the network, on the other PC select the server from padevchooser. Cheers -J -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Tuesday April 28 2009, Jigish Gohil wrote:
On Tue, Apr 28, 2009 at 9:01 PM, Randall R Schulz <rschulz@sonic.net> wrote:
Hi,
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
Could someone give me the outline of setting something like this up or point me to some informational materials?
Run padevchooser, configure local sound server to accept all connections from the network, on the other PC select the server from padevchooser.
Thanks, but... Perhaps some more details? I did that, but both systems show "No Netword Devices Found" in all three categories, "Server," "Sink" and "Source." Sound continues to work as before on both systems (the one without speakers has headphones).
Cheers
-J
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Tuesday 28 April 2009 11:10:59 am Randall R Schulz wrote:
On Tuesday April 28 2009, Jigish Gohil wrote: ...
Run padevchooser, configure local sound server to accept all connections from the network, on the other PC select the server from padevchooser.
Thanks, but...
Perhaps some more details? I did that, but both systems show "No Netword Devices Found" in all three categories, "Server," "Sink" and "Source."
Sound continues to work as before on both systems (the one without speakers has headphones).
PulseAudio installed and enabled? -- Regards, Rajko http://news.opensuse.org/category/people-of-opensuse/ -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Tuesday April 28 2009, Rajko M. wrote:
...
PulseAudio installed and enabled?
I think so: % ps axl |egrep -i '[Pp]ulse|[Aa]udio' 1 1000 5423 1 20 0 93468 4404 413155 Ssl ? 0:00 /usr/bin/pulseaudio --start % pstree ... ├─pulseaudio───2*[{pulseaudio}] ...
-- Regards, Rajko
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Tuesday April 28 2009, Randall R Schulz wrote:
Hi,
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
Could someone give me the outline of setting something like this up or point me to some informational materials?
Any other tips, hints, pointers or suggestions? Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 4/29/2009 at 6:50, Randall R Schulz <rschulz@sonic.net> wrote: On Tuesday April 28 2009, Randall R Schulz wrote: Hi,
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
Could someone give me the outline of setting something like this up or point me to some informational materials?
Any other tips, hints, pointers or suggestions?
I might be completely mistaken, but isn't THIS a great use case for PulseAudio? You can define a sink on a remote machine and all the sound should just go there. http://en.wikibooks.org/wiki/Configuring_Sound_on_Linux/Pulse_Audio/Remote_s... Dominique -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Wednesday April 29 2009, Dominique Leuenberger wrote:
On 4/29/2009 at 6:50, Randall R Schulz <rschulz@sonic.net> wrote:
On Tuesday April 28 2009, Randall R Schulz wrote:
Hi,
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
Could someone give me the outline of setting something like this up or point me to some informational materials?
Any other tips, hints, pointers or suggestions?
I might be completely mistaken, but isn't THIS a great use case for PulseAudio? You can define a sink on a remote machine and all the sound should just go there.
I'm running openSUSE 11.1 and to my knowledge, it is the default and I am running it. I installed the padevchooser on both systems, enabled both avahi daemons, rebooted checked "Enable networked sound" in the KDE Control Center (rebooted both systems) and still have "No Network Devices" in all three categories (Server, Sink and Source) on both machines' padevchooser tray icon's pop-up menu. (And firewalls are not an issue.) I am quite naive about audio. I've never done anything fancy with it and it has always just worked, so I've never needed to educate myself.
http://en.wikibooks.org/wiki/Configuring_Sound_on_Linux/Pulse_Audio/Remote_s...
Thanks for the link. I'll check it out.
Dominique
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Wednesday April 29 2009, Dominique Leuenberger wrote:
On 4/29/2009 at 6:50, Randall R Schulz wrote:
On Tuesday April 28 2009, Randall R Schulz wrote:
...
Any other tips, hints, pointers or suggestions?
I might be completely mistaken, but isn't THIS a great use case for PulseAudio? You can define a sink on a remote machine and all the sound should just go there.
http://en.wikibooks.org/wiki/Configuring_Sound_on_Linux/Pulse_Audio/Remote_s...
So far every invocation of "pactl" I've tried yields this: % pactl ... E: socket-client.c: socket(): Address family not supported by protocol Connection failure: Connection refused I'm running as root.
Dominique
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
In <200904280831.08771.rschulz@sonic.net>, Randall R Schulz wrote:
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
I'm not sure of the exact commands, but it seems like you want to make things more complicated than pulseaudio allows, in my extremely limited experience. However, I know jack supports something like this so pulseaudio may as well. I'm also rusty on the terminology, even if ever knew it in the first place. On each computer, you should already have one pulseaudio "device" that acts as a multiplexer and writes the result to your hardware via alsa and it is the default pulseaudio "device". You should expand your PA setup on each computer in 3 steps: 1. Create a second (non-default) pulseaudio device ("output locally") that multiplexes inputs and also writes to alsa. 2. a. Create a third (non-default) pulseaudio device ("local input") that acts as a splitter instead of a multiplexer. b. Connect one output to the *local* "output locally" device and another output to the remote pulseaudio server, specifying the *remote* "output locally" device. 3. Change the output of the original (default) pulseaudio device to be the "local input" device. If pluseaudio "devices" can act as both a splitter and a multiplexer, skip steps 2a and 3 and perform step 2b on the default device after removing it's alsa output.
Could someone give me the outline of setting something like this up or point me to some informational materials?
Hrm, I might trawl the pluseaudio documentation tonight and see what's possible. If I do, I'll send out some untested configs/commands and let you take it from there. -- Boyd Stephen Smith Jr. ,= ,-_-. =. bss@iguanasuicide.net ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/
In <200904291822.22890.bss@iguanasuicide.net>, Boyd Stephen Smith Jr. wrote:
In <200904280831.08771.rschulz@sonic.net>, Randall R Schulz wrote:
I now routinely use two computers (both running openSUSE 11.1, both on x86 hardware, though entirely distinct in details) but have only one set of speakers. I would like to have one of these systems send its sound output to the other system rather than to its own sound hardware. I gather this is possible, but haven't been able to find much information on how to exploit the capability.
I'm not sure of the exact commands, but it seems like you want to make things more complicated than pulseaudio allows, in my extremely limited experience.
I spent a few hours looking that the PulseAudio modules listed on their wiki. I couldn't find support for the type of routing needed to get the effect you desire. If it is possible, I think you'll have to take it to a PulseAudio-specific list. :( Oddly enough, convincing the PA daemon/server to send it's output to a different PA daemon/server on the same network is recommended against, if I'm reading this correctly. -- Boyd Stephen Smith Jr. ,= ,-_-. =. bss@iguanasuicide.net ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/
-You can setup PulseAudio to serve your needs. Let's say you have 2 systems. SystemA and SystemB and assuming that they can see each other. Let SystemA be the PulseAudio server and SystemB be the PulseAudio client. -Make sure PulseAudio daemon is started at least on SystemA: #ps -ely|grep -i pulse on SystemA(Server): -------------------- -run 'paprefs'. And perform the configuration as follows. NetworkAccessTab: EnableNetworkAccessToLocalSoundDevices=yes AllowOtherMachinesOnTheLanToDiscoverLocalSoundDevices=yes Don'tRequireAuthentication=yes MakeDiscoverableNetworkSoundDevicesAvailableLocally=yes MulticastTab: EnableMulticast/RtpReceiver=yes EnableMulticast/RtpSender=yes SendAudioFromLocalMicrophone=no SendAudioFromLocalSpeakers=yes CreateSeparateAudioDeviceForMulticast/Rtp=no -now play an audio file. Make sure that your systems sound configuration is configured to use PulseAudio. On SystemB(client): ------------------- -run 'tcpdump' to look for any multicast from the SystemA. Take note of the multicast ip and port# (eg. 224.0.x.x). You'll need to refer to it later in the player on SystemB. On my system, it's 224.0.0.56.46946. $ sudo tcpdump -n net 224.0.0.0/8 -c 10 $ mplayer -demuxer rawaudio -rawaudio channels=2:rate=44100:samplesize=2:format=0x10001 rtp://224.0.0.56.46946 -Note: As you can see, i'm using 'mplayer' in this example. but you can use another that support RTP streaming. Take note of the parameter values that is specified with 'mplayer', you'd have to probably enter it in you player. Caveat: Please note that the configuration in this posting is extremely open and could potentially cause security concerns. The purpose is to show you how to get things running and you can tweak the settings to suit your need. -- View this message in context: http://www.nabble.com/%22Network-Sound%22-tp23279806p23318528.html Sent from the openSUSE community mailing list archive at Nabble.com. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
buzlite wrote:
-You can setup PulseAudio to serve your needs. Let's say you have 2 systems. SystemA and SystemB and assuming that they can see each other. Let SystemA be the PulseAudio server and SystemB be the PulseAudio client.
-Make sure PulseAudio daemon is started at least on SystemA: #ps -ely|grep -i pulse
on SystemA(Server): -------------------- -run 'paprefs'. And perform the configuration as follows.
NetworkAccessTab: EnableNetworkAccessToLocalSoundDevices=yes AllowOtherMachinesOnTheLanToDiscoverLocalSoundDevices=yes Don'tRequireAuthentication=yes MakeDiscoverableNetworkSoundDevicesAvailableLocally=yes MulticastTab: EnableMulticast/RtpReceiver=yes EnableMulticast/RtpSender=yes SendAudioFromLocalMicrophone=no SendAudioFromLocalSpeakers=yes CreateSeparateAudioDeviceForMulticast/Rtp=no
-now play an audio file. Make sure that your systems sound configuration is configured to use PulseAudio.
On SystemB(client): ------------------- -run 'tcpdump' to look for any multicast from the SystemA. Take note of the multicast ip and port# (eg. 224.0.x.x). You'll need to refer to it later in the player on SystemB. On my system, it's 224.0.0.56.46946.
$ sudo tcpdump -n net 224.0.0.0/8 -c 10
$ mplayer -demuxer rawaudio -rawaudio channels=2:rate=44100:samplesize=2:format=0x10001 rtp://224.0.0.56.46946
-Note: As you can see, i'm using 'mplayer' in this example. but you can use another that support RTP streaming. Take note of the parameter values that is specified with 'mplayer', you'd have to probably enter it in you player.
Caveat: Please note that the configuration in this posting is extremely open and could potentially cause security concerns. The purpose is to show you how to get things running and you can tweak the settings to suit your need.
This is really great info But if you didn't want to run an application all the time to play the sound, could you not configure SystemB to serve as a sink for system A? I think Pulseaudio has this concept of sources and sinks, where sources stram any sounds, and Sinks can grab any streams and just play them without an application because the sound server will send send them to your speakers. Is this not correct? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Please read my comments marked by ">>" This is really great info But if you didn't want to run an application all the time to play the sound, could you not configure SystemB to serve as a sink for system A?
from what i can see, the server is always sending something to the multicast address(224.0.x.x) but only when there is actually audio being generated at the server would there be a valid stream. The problem is I don't know if you can always count on the same multicast port# being for the valid stream. From what I've seen on my system, the same multicast port# is used. Plus, I need to manually run a player application in order to read that stream.
I think Pulseaudio has this concept of sources and sinks, where sources stram any sounds, and Sinks can grab any streams and just play them without an application because the sound server will send send them to your speakers. Is this not correct?
I fully understand what you're asking. Essentially, you want the 2nd system to be the speaker for the 1st system. This is beyond my pulseaudio knowledge. I've never really understood how this aspect work nor configured. I tried some quick configuration with 'source' and 'sink' using the pulseaudio applet but without success
-- View this message in context: http://www.nabble.com/%22Network-Sound%22-tp23279806p23327024.html Sent from the openSUSE community mailing list archive at Nabble.com. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Seems I was too quick to reply to your last posting. After a closer look, configuring one system to output all its audio to another system without using RTP is quite simple. Assuming both SystemA and SystemB are up and running. And PulseAudio is running on both systems. Their PulseAudio should be able to see each other. When this is the case and you want SystemA's output to go to SystemB's speaker, all you have to do is goto SystemA's PulseAudioApplet and set DefaultSink=SystemB, where the value of SystemB is already there. After which, any audio or video files that you play, its audio output will automatically go to SystemB's speakers. Hope this helps. YinT wrote:
Please read my comments marked by ">>"
This is really great info
But if you didn't want to run an application all the time to play the sound, could you not configure SystemB to serve as a sink for system A?
from what i can see, the server is always sending something to the multicast address(224.0.x.x) but only when there is actually audio being generated at the server would there be a valid
stream.
The problem is I don't know if you can always count on the same multicast port# being for the valid stream. From what I've seen on my system, the same multicast port# is used. Plus, I need to manually run a player application in order to read that stream.
I think Pulseaudio has this concept of sources and sinks, where sources stram any sounds, and Sinks can grab any streams and just play them without an application because the sound server will send send them to your speakers. Is this not correct?
I fully understand what you're asking. Essentially, you want the 2nd system to be the speaker for the 1st system. This is beyond my pulseaudio knowledge. I've never really understood how this aspect work nor configured. I tried some quick configuration with 'source' and 'sink' using the pulseaudio applet but without success
-- View this message in context: http://www.nabble.com/%22Network-Sound%22-tp23279806p23328676.html Sent from the openSUSE community mailing list archive at Nabble.com. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Thursday April 30 2009, buzlite wrote:
-You can setup PulseAudio to serve your needs. ...
... [ Lots of detailed information ] ...
Thanks for this. I'll study it, give it a try and report back on my results. Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Thursday April 30 2009, buzlite wrote:
-You can setup PulseAudio to serve your needs. Let's say you have 2 systems. SystemA and SystemB and assuming that they can see each other. Let SystemA be the PulseAudio server and SystemB be the PulseAudio client.
...
On SystemB(client): ------------------- -run 'tcpdump' to look for any multicast from the SystemA. Take note of the multicast ip and port# (eg. 224.0.x.x). You'll need to refer to it later in the player on SystemB. On my system, it's 224.0.0.56.46946.
I'm not sure I know how to recognize multicast traffic. What's the clue?
$ sudo tcpdump -n net 224.0.0.0/8 -c 10
$ mplayer -demuxer rawaudio -rawaudio channels=2:rate=44100:samplesize=2:format=0x10001 rtp://224.0.0.56.46946
-Note: As you can see, i'm using 'mplayer' in this example. but you can use another that support RTP streaming. Take note of the parameter values that is specified with 'mplayer', you'd have to probably enter it in you player.
What I want to do is get all system audio emitted on the client routed to the server, not just particular program's output. Is that possible? If so, how?
...
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
The group includes the addresses from 224.0.0.0 to 239.255.255.255, or, equivalently, 224.0.0.0/4. The range from 224.0.0.0 to 224.0.0.255 (or 224.0.0.0/24) is designated for multicasting on the local LAN only. I believe PulseAudio only deals with multicast in LAN environments. Hence, it uses 224.0.0.x. That's why I used '$ sudo tcpdump -n net 224.0.0.0/8 -c 10' to look for IP traffic whose destination IP is 224.x.x.x and whose source IP is the system running the pulseaudio server. If I understand your need correctly. I believe you mean routing all sound from systemA to systemB. if that is so systemA is the client and systemB is the server. when both system has pulse audio configured properly, they should be able to see each other automatically once they start up. In such a case, all you have to do is go to systemB's PulseAudioAudioApplet('padevchooser') and set DefaultSink=systemA. After which, any audio that is generated by systemB will automatically be routed to systemA's speakers. NOTE: you do not need to deal with multicasting in such a scenario, pulseaudio is using tcp in this case. Pulseaudio multicasting is only used if you have multiple hosts listening in on audio broadcast from the source pulseaudio server. Randall Schulz wrote:
On Thursday April 30 2009, buzlite wrote:
-You can setup PulseAudio to serve your needs. Let's say you have 2 systems. SystemA and SystemB and assuming that they can see each other. Let SystemA be the PulseAudio server and SystemB be the PulseAudio client.
...
On SystemB(client): ------------------- -run 'tcpdump' to look for any multicast from the SystemA. Take note of the multicast ip and port# (eg. 224.0.x.x). You'll need to refer to it later in the player on SystemB. On my system, it's 224.0.0.56.46946.
I'm not sure I know how to recognize multicast traffic. What's the clue?
$ sudo tcpdump -n net 224.0.0.0/8 -c 10
$ mplayer -demuxer rawaudio -rawaudio channels=2:rate=44100:samplesize=2:format=0x10001 rtp://224.0.0.56.46946
-Note: As you can see, i'm using 'mplayer' in this example. but you can use another that support RTP streaming. Take note of the parameter values that is specified with 'mplayer', you'd have to probably enter it in you player.
What I want to do is get all system audio emitted on the client routed to the server, not just particular program's output. Is that possible? If so, how?
...
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
-- View this message in context: http://www.nabble.com/%22Network-Sound%22-tp23279806p23347741.html Sent from the openSUSE community mailing list archive at Nabble.com. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (7)
-
Boyd Stephen Smith Jr.
-
buzlite
-
Dominique Leuenberger
-
Jigish Gohil
-
John Andersen
-
Rajko M.
-
Randall R Schulz