如何通过 SSH 传输音频?

sou*_* c. 19 ssh sound networking

有没有办法通过 ssh 传输音频?

在通过ssh -X我打开浏览器并想观看 YouTube 视频后连接到远程机器后说。目前我只能在没有任何音频的情况下观看视频。但我也想听音频。怎么做?

Bra*_*iam 10

如何通过 SSH 传输音频?

被盗回答grawity超级用户

简单的方法:运行paprefs,转到网络服务器并选中启用对本地声音设备的网络访问

您需要使用安装它

sudo apt-get install paprefs
Run Code Online (Sandbox Code Playgroud)

每当您启用 X11 转发的 SSH 时,PulseAudio 程序都会使用 X11 来发现您的声音服务器(使用pax11publish

xprop -root PULSE_SERVER
Run Code Online (Sandbox Code Playgroud)

自己看)。只需告诉 PulseAudio 侦听网络连接(paprefs如上所述),所有 X11 程序都可以使用它。

(其他用户将无法访问您的声音服务器,除非您自己允许它在 中paprefs。身份验证数据在 X11PULSE_COOKIE属性中携带,或者您可以~/.config/pulse/cookie手动复制 。)

但是请注意,PulseAudio 流没有以这种方式加密,因此可以在家中使用,但不能通过 Internet 使用。


稍微复杂一点的方法:如上所述启用网络访问,但通过 SSH TCP 转发隧道 PulseAudio。使用pax11publish来发现你的PulseAudio端口(通常是4713),与连接

ssh -R 24713:localhost:4713
Run Code Online (Sandbox Code Playgroud)

然后运行

export PULSE_SERVER="tcp:localhost:24713"
Run Code Online (Sandbox Code Playgroud)

由于 SSH 开销,这会稍微慢一些,但在 Internet 上使用是安全的。