Piを使用して、PCからすべてのオーディオ出力をステレオにストリーミングします


37

私の問題は非常に単純ですが、満足のいく解決策を見つけることができませんでした。

基本的に、Raspberry Piをステレオに接続し、コンピューターからの音声出力をwifi経由でPIに再生します。

特別なプレーヤーを使用せずにこれを簡単に行う方法はありますか?すなわち、とにかくPCがPiを「スピーカー」として認識するだけですか?

PCのすべての音をステレオで聞きたいのです。ゲーム、音楽、システムサウンド、通知、YouTubeビデオなど。

どうもありがとう!

回答:


24

LinuxをPCで実行している場合、Raspberry PiとLinux PCの両方にPulseAudioをインストールして適切に構成する限り、これは完全に実行可能です。

PCでWindowsを実行している場合...投稿の最後までスキップします(更新しました)。

別のオプションは、PulseAudioをAirPlayレシーバー/クライアントとして使用することですが、私が知る限り、これは不可能です。

ただし、Linuxを使用している場合は、次をお読みください。

注#1:WiFiを介したPulseAudioは、一部のルーターでは問題なく動作しますが、他のルーターでは失敗します。

注#2:次の手順は、Raspberry Piユーザー(私を含む)がこのトピックに関して行った会話からのものです。

1)Raspberry PiにPulseAudioをインストールします

sudo apt-get install pulseaudio pulseaudio-module-zeroconf avahi-daemon

2)PulseAudioが自動的に起動することを確認します。

sudo nano /etc/default/pulseaudio

PULSEAUDIO_SYSTEM_STARTエントリを探して1に変更し、PULSEAUDIO_SYSTEM_START = 1のようにします。

3)ネットワーク上で動作するようにPulseAudioを構成します。

sudo nano /etc/pulse/system.pa

次の行を追加します。

load-module module-native-protocol-tcp auth-ip-acl = 127.0.0.1; 192.168.1.0/24

load-module module-zeroconf-publish

4)Raspberry Piを再起動します。

sudo reboot

5)次に、Linux PCにpaprefsをインストールします。LinuxディストリビューションがDebian(Ubuntu、Mintなど)に基づいている場合、次のコマンドを使用できます。

sudo apt-get install paprefs

6)paprefsを実行し、ネットワークアクセスを有効にして、検出可能なPulseAudioネットワークサウンドデバイスをローカルで使用可能にします

7)[ ネットワークサーバー]で[ ローカルサウンドデバイスへのネットワークアクセスを有効にする]を有効にし、両方のオプションオンにします(Linuxボックスをサーバー/シンクとして使用する場合を除き、これはおそらく不要です)

8)Multicas / RTPで両方のオプションを有効にします

9)利用可能な出力デバイスを確認します(Linuxディストリビューションオーディオ/ミキサーアプリケーションを使用します)。Raspberry Piがリストに表示されるはずです(表示されるはずです)。それを選択すると、Linuxボックスで再生されるすべてのものがRaspberry Piにリダイレクトされます。

Raspberry Piがまだ使用できない場合は、Linux PCを再起動してください。


更新:すべてのオーディオをWindowsからRaspberry Piに送信する

Raspberry PiにPulseAudioをインストールして構成するには、前述の手順に従う必要があります。

さて、これはあなたがWindowsのためにする必要があることです:

1)の最新バージョンをダウンロードする LineInCodeの

2)ダウンロードしたファイルを解凍します

2)PuTTYのPlinkをダウンロードするをし、LineInCodeを抽出したフォルダーと同じフォルダーにplink.exeファイルを配置します

3)メモ帳を開き、次のコードを貼り付けます。

linco.exe -B 16 -C 2 -R 44100 | plink 192.168.1.104 -l pi -pw raspberry "cat - | pacat --server 127.0.0.1 --playback"

もちろん、IPアドレス(192.168.1.104)、ユーザー名(pi)、パスワード(raspberry)を変更します。

4)ファイルをaudio2rpi.batとして保存しますを抽出した同じフォルダーに

これで、WindowsのPCオーディオをRaspberry Piにストリーミングしたいときはいつでも、audio2rpi.batファイルをダブルクリックするだけです。


これらの指示のクレジット:http : //ubuntuforums.org/showthread.php?t=1121603


おかげで-私はそれをやってみよう!pulseaudioを使ってスマートフォンからストリーミングすることはできますか?ありがとう
ジェローム

@Jeromeそれはあなたがこのウェブサイトで尋ねる別の質問であるべきです。
syb0rg

PiでどのOSを実行していますか?Raspbmcの新規インストールを実行していますが、これらの指示に従うとデバイスがブロックされたように見えます。良いことは、再フォーマットがとても簡単なことです
...-gillonba

これらの手順をいくつかのRaspbianリリースで試しました。
xfx

デフォルトの構成tcpモジュールのロードで入力するIPアドレスを知りたい。ワイヤレス経由でわずかにグリッチの再生が発生しますが、有線経由で問題nethogsはありません。レポートは13 KB / sしか使用しないため、興味深いです。
M1ke 14年

4

DLNA / UPnPストリーミングを使用して、PCのPulseAudioとRaspberry PiのRaspbmcでこれをどのように動作させるかについて、少しブログエントリを書きました。それはここにある:http://westmarch.sjsoft.com/2014/04/streaming-audio-linux-to-raspbmc/。お役に立てば幸いです。XBMCのバッファリングには少し遅れがあります。したがって、これはおそらくゲームなどには適していませんが、音楽には適しています。

それは非常に長い一連の指示です-したがって、ここにリンクがありますが、DLNA / UPnPを使用して、私のために働いたオプションの概要は次のとおりです:

  • apt-get rygelをインストール
  • オープンPulseAudioの設定と下のネットワークサーバは、 TICK DLNA / UPnPメディアサーバとしてローカルのサウンドデバイスを利用可能にし、DLNA / UPnPのストリーミング用に別々のオーディオデバイスを作成します。
  • /etc/rygel.confまたは$HOME/.config/rygel.confでRygelの設定を編集し、使用して公開するように設定しますGstLaunch(以下の設定を参照)
  • あなたのXBMCのファイルマネージャに移動し、新しいソースのブラウズ、選択したUPnPデバイスを、あなたが表示されるはずのGst起動をオプションとして
  • 次に、そのストリームからオーディオを再生するようにXBMCに指示できるはずです。

RygelがGstLaunchを使用するための設定は次のとおりです。

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Audio on @HOSTNAME@
mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc

将来何かが起きた場合に備えて、ブログの投稿から簡単な指示を含めていただけますか?
フレッド

4

Windows7-> RaspberryPi(OpenElec)から自分でこれをやりたいと思って、あなたの質問につまずいた。かなりの調査の後、私はまだOpenElecの満足できるソリューションを見つけられませんでしたが、非常にシンプルで本当に高品質で約1秒の遅延で動作するものを思い付くのに十分な情報を持っていました!

必要なもの:

  1. VLC Media Player(Win7 x64でv2.1.3 Rincewindを使用しました)
  2. 「ステレオミックス」録音デバイスを提供するサウンドカード(私は幸運にも、1つを搭載できました)
  3. Raspberry Pi(OpenElec 4.0.5を使用していますが、XBMC全般で機能するはずです)

注:これをサポートするサウンドカードがない場合は、VAC(http://www.virtualaudiocable.net/)を使用しようとすることができますが、私には適切に動作しなかった、オーディオ品質とバッファが低いずっと問題が...しかし多分それは私だけです。

ステップ1)

バックグラウンドでVLC httpストリーミングサービスを開始し、「ステレオミックス」録音デバイスからオーディオをキャプチャするバッチファイルを作成します。

@echo off

set vlc="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
start "" %vlc% --qt-start-minimized dshow:// :dshow-vdev=none :dshow-adev="Stereo Mix (Realtek High Defini" :live-caching=10 :sout=#transcode{vcodec=none,acodec=vorb,ab=500,channels=2,samplerate=44100}:http{dst=:8080/audiostream.ogg} :sout-keep

ノート:

  1. 録音デバイスの名前が異なる場合は、録音デバイスを変更する必要があるかもしれません。Audacity(http://audacity.sourceforge.net/)を使用して、既にインストールされているのでキャプチャデバイスの名前を確認します。
  2. はい、オーディオのビットレートは非常に高い(Vorbisの最大値)が、ビットレートが高いほどバッファが早く埋められ、遅延が短くなる:-)(XBMCの音楽のバッファサイズを明示的に変更できない、5MBを使用する私のバッファ一般)
  3. FLAC、MP3、WAVを試してみましたが、PiでMP3とVorbisしか動作しなかったという事実を除けば、Piでの読み込み時間が最短で(基本的には瞬時)、Vorbisでの遅延は最小でした。

ステップ2)

案内する

\\ rapsberrypi \ Userdata \ playlists \ music

VLCストリームへのプレーンリンクを含む、選択した名前(VLC.strmという名前)で.strmファイルを作成します:(IPをPCのIPに変更します:p)

http://192.168.0.1:8080/audiostream.ogg

ステップ3)

「ステレオミックス」によってキャプチャされるオーディオデバイスをWindowsのサウンド設定でデフォルトに設定するか、VLCなどのプレーヤーを開いて、デフォルト以外のデバイスを手動で使用してRaspberryPiで音楽を再生できます。

VLCを開き(「ステレオミックス」をストリーミングしているトレイで最小化されたものに加えて)、次の手順を実行します。

  1. ツール->設定
  2. オーディオ
  3. 出力モジュール:「WaveOutオーディオ出力」
  4. デバイス:-「ステレオミックス」録音デバイスによってキャプチャされる(アナログ)デバイス -
  5. セーブ
  6. VLCを再起動します
  7. 音楽を再生

ステップ4)

RaspberryPiで:

  1. XBMCで[音楽]-> [プレイリスト]に移動します。
  2. VLC.strm(またはあなたがそれを呼んだもの)を選択します
  3. 音楽をお楽しみください!

トラブルシューティング

「ステレオミックス」の動作やキャプチャに問題がある場合は、まずAudacityで録音し、次のようなフォーラムの提案を試して、Windowsで遊んでください。

これです:

http://www.howtogeek.com/howto/39532/how-to-enable-stereo-mix-in-windows-7-to-record-audio/

またはこれ:

http://www.sevenforums.com/sound-audio/104497-stereo-mix-enabled-but-no-sound.html

確かに、今日は十分なタイピングで、これが誰かに役立つことを願っています!

BR、デッド


3

ここで説明した「LineInCode」-Solutionは動作しますが、音はwifiでひどいです。上記のVLC-Solutionも機能しますが、クリックが多く必要です。PCでVLCをストリーマーとして起動するバッチファイルと、PIで「リスナー」としてmpg123を起動するバッチファイルの両方を組み合わせました。それは私にとって魅力のようです。同じフォルダーにPlikが必要です(ssh-clientとして使用します)。今日からこのスクリプトを使用してラップトップでmp3を聴きますが、サウンド出力はpiです。

            REM This is fischteich's start_sound.bat v 0.3
            @echo off

            set vlc="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
            set ssh-login=YOURLOGIN
            set ssh-pw=YOURPW
            set this-machine-ip=192.168.XXX.XXX
            set pi-ip=192.168.XXX.XXX
            set use-port=5001

            set start-string= --sout-keep --sout=#transcode{vcodec=none,acodec=mp3,ab=192,channels=2,samplerate=44100}:http{mux=mp3,dst=:%use-port%/}

            REM Start VLC ready for files to play
            @start "vlc" %vlc% %start-string%
            REM Start playback via mpg123 on the Pi!
            plink %pi-ip% -l %ssh-login% -pw %ssh-pw% "mpg123 http://%this-machine-ip%:%use-port%"

1

これを実現する1つの方法は、Raspberry PI(https://volumio.org)にVolumio OSをインストールし、そこに記載されている指示に従うことです。このディストリビューションには、AppleデバイスがオーディオをストリーミングできるようにするShairPortレシーバーが含まれています。あるいは、選択したディストリビューションにShairportをインストールするだけでもいいと思います。

Windows PCにtuneblade(http://tuneblade.com)をインストールします。この無料版を使用すると、コンピューターのオーディオをraspberry piのShairPortにストリーミングできます。また、ビデオなどを表示するときの音声遅延を排除するためにvlcとうまく機能します。

これは私のために働く-私もそれがあなたのために働くかもしれないことを願っています。


Raspberry Pi Stack Exchangeへようこそ!これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
RPiAwesomeness 14

TunebladeはPi MusicBoxでも動作し
ます。入力は

0

私の知る限り、解決策は(まだ)ありません。AVBという名前の標準/技術がありますが、802.11でサポートされる予定は時刻の同期に限定されています。


-1

ステレオに接続されたA2DPアダプターを使用して、簡単なBluetoothオーディオストリーミングを試しましたか?Raspberry Piを使用してそれを行うのはやり過ぎのようですが、Raspberry Piと安価なUSB bluetoothアダプターを備えたA2DP bluetoothオーディオストリーミングデバイスを構築することは認めます。


A2DPをストリーミングできるRaspiを構築したのは素晴らしいことですが、あなたの答えは同じものには役立たないので、この答えは答えではありません。
マークブース

パイは必要ありません。PCをBluetoothレシーバーとペアリングし、サウンドをPCからステロールに直接送信します。Bluetoothレシーバーは、PCにサウンド出力として表示されるはずです。
クリストファービッグス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.