在远程计算机(Linux)上播放本地音频

在远程计算机(Linux)上播放本地音频

是否可以将音频从本地计算机传输到远程计算机,例如通过 SSH?

我知道这会将麦克风转移到另一台电脑

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

但由于我自己并没有发明它,所以我真的不知道如何用它来演奏音乐?

答案1

您想通过计算机的扬声器播放它吗(而不是远程计算机的扬声器)?superuser.com 上的这个问题可能会对此有所启发。像 SSH 中的 X 一样转发音频

答案2

您可以使用 mpd 进行远程播放,但它的工作方式如下:您在一台计算机上设置 mpd 服务器,您的 mp3/ogg 集合就位于该计算机上,然后您可以在另一台计算机上使用 mpd 客户端(例如 sonata)播放音乐。

这取决于你想去哪里控制播放 - 在服务器(音乐库所在的位置)或客户端(连接扬声器的位置)。如果您想在客户端上进行控制,mpd 是您的好帮手。

另一方面,如果您只是想要一台连接了扬声器的虚拟电脑,并且想要通过音乐库控制另一台电脑的播放内容,那么我想您应该尝试 icecast,尽管我还没有尝试过。

或者,第三种方法,您将库和扬声器放在一台电脑上,然后从另一台电脑上控制一切。最好通过 mpd 配置来实现这一点,其中客户端和服务器位于一台电脑上(带有库和扬声器的电脑),您只需 ssh 进入它并使用控制台客户端来控制音乐(控制台 mpd 客户端:mpc、ncmpcpp - 我最喜欢的)。

我可以想到另一种配置:一台电脑控制音乐,一台电脑配有扬声器,第三台电脑(最有可能是 NAS)保存网络中的音乐库 - 这也可以通过 mpd 轻松实现。

答案3

这个问题有点过时了,但在 2018 年的 Linux 系统上,最简单的方法是使用 Pulseaudio:要么直接连接到远程 Pulseaudio 服务器,要么创建连接到远程源的本地接收器(module-tunnel-*)。其他选项是使用 Pulseaudio 内部或外部的音频流协议,如 NTP(module-rtp-)或 ROAP(Apple AirPort,module-roap-*)。

例如,描述了各种替代方案的设置的更多细节这里. 另请参阅 Pulseaudio模块页。

相关内容