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

Que*_*ner 11 sound pulseaudio lan

我有两台电脑。计算机 A 正在运行带有 Gnome Clasic 的 Ubuntu 11.10。计算机 B 正在运行 Mythbuntu 11.10。计算机 B 有一个甜美的数字音频系统。

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

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

纸条

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

我没有看到任何事情发生或我应该以任何方式建立从计算机 A 到计算机 B 的连接。

这应该如何工作?有人可以就实际建立连接的行为提供明确的说明吗?

理想情况下,希望我可以有一个设置,允许我始终使用计算机 B 的声音系统在 LAN 上播放某些应用程序,例如 Banshee。也就是说,一旦设置好,就是默认的,不用每次都手动重新连接。

Tak*_*kat 9

通过 LAN 将音频从一个 Pulse Audio 服务器发送到另一个服务器的最简单的方法是使用 RTP/多播功能,您可以使用paprefs设置该功能安装 paprefs.

在发件人:

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

选择您的本地声卡或选择一个单独的设备,您可以从“音频首选项”中选择作为音频输出。

在接收器上:

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

通过这样做,音频将从发送者通过您的 LAN 发送到接收者。


mpb*_*mpb 5

下面的示例显示如何创建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
Run Code Online (Sandbox Code Playgroud)

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

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

load-module  module-native-protocol-tcp  auth-ip-acl=127.0.0.1;LAN_NAME
Run Code Online (Sandbox Code Playgroud)

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

LAN_NAME            =  192.168.1.0/24
IP_ADDRESS_OF_BETA  =  192.168.1.10
Run Code Online (Sandbox Code Playgroud)

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

如果一切顺利,您现在应该在onOutput Devices的选项卡上看到隧道。当音频源正在播放时,您应该能够在on选项卡上将源路由到隧道。pavucontrolalphaPlaybackpavucontrolalpha

只要隧道完好无损,您也应该能够在 的选项卡上看到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