如何通过局域网将声音从一台计算机转发到另一台计算机?

如何通过局域网将声音从一台计算机转发到另一台计算机?

我有两台电脑。电脑 A 运行的是 Ubuntu 11.10 和 Gnome Clasic。电脑 B 运行的是 Mythbuntu 11.10。电脑 B 有一个很棒的数字音频音响系统。

我想在计算机 A 上播放 Banshee 的音乐,但声音输出通过 LAN 发送并通过计算机 B 的扬声器输出。

我发现这个问题这表明我应该使用名为“paprefs”的东西来实现这一点。因此,我安装了 paprefs,然后在“网络服务器”对话框中,我选择了以下设置:

帕普雷夫

然后……我不知道会发生什么。我查看了 paprefs 主页,他们说的都是文档是“没什么好说的。只需运行 paprefs 即可亲自查看。”

我没有看到任何事情发生,也没有看到任何从计算机 A 到计算机 B 的连接方式。

这应该如何工作?有人可以提供关于如何实际建立连接的清晰说明吗?

理想情况下,我希望能够设置成允许我始终使用计算机 B 的音响系统通过 LAN 播放某些应用程序(如 Banshee)。换句话说,一旦设置完成,它就是默认设置,无需每次手动重新连接。

答案1

通过 LAN 将音频从一个 Pulse Audio 服务器发送到另一个 Pulse Audio 服务器的最简单方法是使用 RTP/Multicast 功能,您可以使用帕普雷夫安装 paprefs

在发送方:

paprefs 屏幕截图显示“启用多播/rtp 发送器”已选中并且“从本地扬声器发送音频”已选中

选择您的本地声卡或选择单独的设备作为音频输出音频偏好设置

在接收方:

paprefs 屏幕截图显示“启用多播/rtp 接收器”已选中

这样,音频就会通过 LAN 从发送方发送到接收方。

答案2

下面的示例展示了如何创建一个 pulseaudio TCP 隧道,将声音从一台计算机转发到alpha另一台计算机beta。在我的例子中,两台计算机都运行 Ubuntu 14.04。

alpha(源计算机)上,将以下行附加到/etc/pulse/default.pa

.fail
load-module  module-tunnel-sink  sink_name=beta  server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail

(为 选择任何唯一值sink_name。我任意选择使用值beta。)

beta(目标计算机)上将以下行附加到/etc/pulse/default.pa

load-module  module-native-protocol-tcp  auth-ip-acl=127.0.0.1;LAN_NAME

在上述内容中,LAN_NAMEIP_ADDRESS_OF_BETA将特定于您的计算机和 LAN。例如,它们可能是:

LAN_NAME            =  192.168.1.0/24
IP_ADDRESS_OF_BETA  =  192.168.1.10

完成上述更改后,重新启动 pulseaudio,首先在beta,然后在alpha。顺序很重要。我使用 重新启动 pulseaudio 。我以个人身份(而不是 root 身份)pulseaudio --kill运行,因为 pulseaudio 已经作为我的个人 运行。pulseaudio --killUIDUID

如果一切顺利,您现在应该可以在Output Devices选项卡上看到隧道。当音频源正在播放pavucontrolalpha,您应该能够将源路由到 选项Playbackpavucontrol上的隧道alpha

只要隧道完好无损,您还应该能够在上Playback的 选项卡上看到隧道。如果隧道消失,请重新启动 pulseaudio,首先在 上,然后在 上。只有在 上启动时才会创建隧道。pavucontrolbetabetaalphapulseaudioalpha

alpha注 1:此示例假设 pulseaudio 在和上运行beta。截至 2016 年,pulseaudio 在 Ubuntu 上默认运行,并且已经运行多年。

注意 2:此示例不使用 Avahi 零配置网络。Avahi 可能在 Ubuntu 上默认启用,但我已在系统上禁用 Avahi。在我的 LAN 上,beta(目标计算机)始终具有相同的 IP 地址,而且我知道该地址。

注 3:以上内容auth-ip-acl授予对 LAN 上任何设备的访问权限。Pulseaudio 还支持其他(更安全的)身份验证方法。我用auth-ip-acl它来简化配置。

您可以在以下页面找到更多信息:

https://raspberrypi.stackexchange.com/questions/8621/how-to-set-up-a-pulseaudio-sink https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h2 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index14h3

相关内容