最近我已完全从 pulseaudio 切换到 pipewire。一切都很好,只是文档中关于如何设置网络流的说明不太清楚。
我的目标是:
- 将麦克风音频从主系统传输到辅助系统
- 从辅助设备获取音频输出并将其流回主设备。
许多人指出我Pipewire 文档,但他们根本没有解释这些命令实际上起什么作用。
我尝试过的:
在两台机器上创建~/.config/pipewire/pipewire.conf
包含内容的文件。/usr/share/pipewire/pipewire.conf
将此模块添加到主机:
{
name = libpipewire-module-roc-source
args = {
local.ip = 0.0.0.0
resampler.profile = medium
sess.latency.msec = 5000
local.source.port = 10001
local.repair.port = 10002
source.name = "ROC Source"
source.props = {
node.name = "roc-source"
}
}
}
然后将此模块添加到辅助机器:
{
name = libpipewire-module-roc-sink
args = {
local.ip = 0.0.0.0
remote.ip = 192.168.0.xxx
remote.source.port = 10001
remote.repair.port = 10002
sink.name = "ROC Sink"
sink.props = {
node.name = "roc-sink"
}
}
}
此配置有效并在辅助计算机上创建输出接收器并在主机上创建输入,但它无法传输其他设备,并且延迟根本无法使用。
我不确定在这种情况下 roc 是否是可行的方法,所以如果我错了,请纠正我。
pipewire-full-git roc-toolkit
pipewire-full-roc-git
在两台机器上使用 Arch Linux
答案1
从这里回答gist.github.com/savegame/pulse_sreaming.md
在服务器上,耳机已连接
pactl load-module module-native-protocol-tcp port=4656 listen=<Server_IP>
在播放音乐的客户端上
pactl load-module module-tunnel-sink server=tcp:<Server_IP>:4656