web-dev-qa-db-ja.com

ネットワーク経由で複数のコンピューターに音楽をストリーミングする方法は?

結果

ある部屋から別の部屋に歩いて行き、同じ歌が聞こえるようにしたい。あなたがすべての部屋でラジオを聞いていたのと同じように。

その効果が欲しいのですが、自分の音楽を聴きたいのですが、これはできますか?

材料

  • Ubuntuラップトップ。
  • Macコンピューター。

最初の選択肢

  • この回答 に従ってソフトウェアを見つけてセットアップしました
  • コンピューターとサーバーの両方のソフトウェアはすべてセットアップされているので、どうすれば続行できますか? http://www.pulseaudio.org/wiki/FirstSteps
78
Alvar

はい、 pulseaudio でこれを簡単に行うことができます。インストールして実行する必要があります paprefsInstall paprefs これにより、サウンドデバイスがネットワーク経由で利用可能になります。

enter image description here

enter image description here

これらの設定により、音源とシンクの両方をネットワーク経由で、理想的には別のpulseaudioサーバーに公開できます。

デスクトップマネージャーなしでサーバーをセットアップする場合は、まずサウンドシステムをインストールする必要があります( この質問 を参照)。次に、Network accessセクションでこれらの行のコメントを外して/etc/Pulse/default.paを編集できます。

load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
load-module module-zeroconf-publish

RTP senderを使用する場合は、これらの行のコメントを外しますRTP sender moduleセクション:

load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink"
load-module module-rtp-send source=rtp.monitor

Pulseaudioサーバーは、pulseaudio -Dでデーモンとして起動する必要があります(まだ実行されていない場合)。 /etc/Pulse/daemon.confの音質設定を最適化するために、個人のニーズに適合させることができます。

ネットワークでオーディオをストリーミングする別の方法は、Icecastサーバーをセットアップすることです( この質問 を参照)。

48
Takkat

最適なオプションは、ミュージックプレーヤーデーモン(mpd)と呼ばれます。

https://secure.wikimedia.org/wikipedia/en/wiki/Music_Player_Daemon

クライアントサーバーアプリケーションです。音楽をサーバーに保存し、クライアントと接続して(多くの人が一度にそれを行うことができます)、サーバーを制御します。

すでにubuntuにあり、apt-get install mpd

また、いくつかの優れたドキュメント: https://wiki.archlinux.org/index.php/Mpd

MPDは音楽をストリーミングできるので、音楽を再生するために多数のクライアント(または必要に応じてスピーカー)を使用できます。

しかし、本当に良い品質を期待しないでください。ストリーミングのネタバレはひどく聞こえます(mpdとpulseaudioのどちらを使用しても)。実際のスピーカーをサーバーに接続し、それを制御するためだけにラップトップを使用することをお勧めします。

11
loxs

普通に何かをする必要はありませんでした。 PulseAudioを搭載したツインネットブックがあり、Intelのハードウェアはほとんどありません。私がそれをどのように設定したかは、このような小さなものでした。

サーバーとクライアントの両方でpaprefsを実行します。サーバーで、マルチキャスト設定が有効になっており、サーバービットがチェックされていることを確認してください。そのようです enter image description here

マルチキャストビット enter image description here

クライアントで、ネットワーク対応デバイスの検索に関するビットを有効にします enter image description here そして、pavucontrol経由で出力デバイスを仮想ネットワークデバイスに設定します enter image description here

ビオラあなたは今いくつかの魔法を持っている必要があります

11
lazyPower

このソリューションを使用すると、システムオーディオを好きな場所にストリーミングできます。
ここで重要なのは、ALSAループバック機能です。そのため、最初にALSAでループバックデバイスを有効にする必要があります。これは、PulseAudioボリュームコントロールに入力デバイス(および出力デバイス)として表示されます。

Sudo modprobe snd_aloop

このデバイスは、mpdサーバーに追加できます。

mpc add alsa://hw:1,1

ここで、hw:1,1はコマンドaplay -lでリストできるループバック入力デバイスです。

次に、mpdに http出力プラグイン を設定する必要があります。次の例は/etc/mpd.confのようになります

 audio_output {
    type            "httpd"
    name            "My HTTP Stream"
    encoder         "vorbis"          # optional, vorbis or lame
    port            "8000"
    bind_to_address "192.168.1.38"               # optional, IPv4 or IPv6
    quality         "5.0"                   # do not define if bitrate is d$
#   bitrate         "128"                   # do not define if quality is d$
    format          "44100:16:1"
    max_clients     "0"                     # optional 0=no limit
 }  

それだ。 [ボリュームコントロールの再生]タブで、オーディオソースのデバイスを選択します。
最後に、httpd URLアドレスhttp://192.168.1.38:8000を使用して、VLCまたはその他のストリームレンダラーを宛先ポイントで使用できます。
この回答も利用可能です こちら

1
laplasz

良い解決策はありません(まだ)。 AVB がありますが、802.11のサポートは時刻同期に制限されています。

0
themihai

DLNA/UPnPでこのようなことを達成できるかどうかはわかりませんが、私はそれをよく知っていませんが、役立つ場合はここにいくつかのリンクを投げます:

クイック検索結果 は、同期できないことを示唆していますが...

0
Ilari Kajaste