web-dev-qa-db-ja.com

PulseAudioを使用してWindowsからLinuxにオーディオをストリーミングする

Ubuntu + PulseAudioネットワークサーバーがインストールされたLinuxボックスがあります。ラップトップ(Linuxもインストールされている)からローカルネットワーク経由でボックスにオーディオをストリーミングできます。

最近、ラップトップにWindows7をインストールしました。ノートパソコンのオーディオをボックスにストリーミングしたい。 WindowsからLinuxボックスへのPulseAudioを介したネットワーク経由のオーディオストリーミングのセットアップを誰かが手伝ってくれる?

11
marltu

最小限のソフトウェアを使用した本当にシンプルなソリューションは、 VLC as RTP server を使用してオーディオをストリーミングし、pulseaudioに RTPソース を設定することです。

1
sebasth

Jackストリーミングサーバーを使用した多くのサクセスストーリーがあります。

それらの中の一つ:

https://blogs.gentoo.org/mgorny/2015/01/16/surround-sound-over-network-with-windows-8/

1
Eir Nym

答えの2番目の部分 https://superuser.com/a/378000/6557 (Windowsの部分)はおそらくあなたのケースに当てはまります:

古いWindowsesdドライバー、またはlincoツールを使用します。

AFAIU、現時点ではWindows用のpulseaudioサウンド出力ドライバーはありません。 VLC用のpulseaudio出力モジュールはWindows用に構築されています 。 (これにより、少なくとも簡単な方法でVLCからリモートのPulseAudioサーバーにサウンドを出力できます。)

インターネットで見つかったプログラムを変更して、 WLStream を作成しました。これにより、Windows出力デバイスからオーディオをストリーミングできるため、PulseAudioはLinuxホストでオーディオを再生できます。 2つの間の通信は、PuTTYのplinkを使用して行われます。ネットワークが原因でオーディオストリームに遅延が発生します。plinkから送信されたTCPパケットの特権を変更するか、VoIPの場合と同じようにルーターの構成を変更すると、確実になります。オーディオのストリームラグを減らしますが、私の調査はこれ以上進みませんでした。WLStreamはVisual Studio 2017を使用してコンパイルでき、前回のバージョンからプリコンパイルされています ここ

0
Rinaldi Segecin

https://github.com/duncanthrax/scream

セットアップには5分もかかりませんでした。複数のサンプルレートでWindowsからのユニキャストおよびマルチキャストrawストリームをサポートします。 Windows、ALSA、Pulse-audioのリスナーがあります。

0
John

私はJACKの使用に成功しましたが、Eir Nymの回答とは異なり、要求どおりLinuxボックスからサウンドが再生されています。ここでそれを少し書きました: https://Gist.github.com/kotarou3/3813bbf7833a0e4618f7fbe8a377872d

PulseAudioよりもJACKを使用する利点は、レイテンシーが低くなることです(正しく構成した場合)。音楽を演奏しているだけでも問題ありませんが、ゲームや録音作業などは低レイテンシーが必要です。

後世のための部分的な引用:

WindowsからLinuxにオーディオをストリーミングする

Ubuntu 16.04およびWindows 10 Redstone 1でテスト済み

両方のボックスが同じネットワーク上にある必要があります(マルチキャストパケットがそれらの間で渡されるように)

取り付け

Linux

  1. ジャックの設定( Cadence で簡単に実行)

ウィンドウズ

  1. JACKと ASIO Bridge をWindowsボックスにインストールします。
  2. JACKインストールディレクトリからregsvr32 32bits\JackRouter.dllおよびregsvr32 64bits\JackRouter.dllを実行します
  3. 32bits\JackRouter.iniおよび64bits\JackRouter.iniを変更して、チャネルとサンプル構成に一致させます
  4. (オプション)ASIO Bridge(Hi-Fi Audio)入力をデフォルトの再生デバイスとして設定します

ランニング

  1. Linuxでnetjack2サーバーをjack_load netmanagerで起動します(自動ロードするために.jackdrcに追加することも可能です)
  2. Windows(スタートメニューにあります)でJACK NetDriverを実行するか、jackd -R -d net
  3. Windowsボックスのホスト名という名前の新しいデバイスがLinuxJACKパッチパネルに表示されているはずです(Cadenceを使用している場合は Catia )。必要に応じて接続します(注:2つ以上ある場合、チャネルが期待どおりに一致しない場合があります)。
  4. ASIO Bridgeを実行し(これも[スタート]メニューにあります)、ASIOをオンにし、ASIOデバイスをJackRouterに設定します。
  5. ASIO Bridgeは、Windows JACKパッチパネルでシステムデバイスへのルートを自動的にセットアップする必要があります。 qjackctl(Jack Controlin Startメニュー)→Connectionsで再確認できます。 -)そして、そうでなければそれらを接続します
0
小太郎