ネットワークストリーミングにRaspbmc(Kodi)でpulseaudioを使用する方法は?

ネットワークストリーミングにRaspbmc(Kodi)でpulseaudioを使用する方法は?

私はRaspberry Pi(Kodi 14を含む)でRaspbmcを使用しています。これで、pulseaudioすべてのLinuxコンピュータでRaspberry piに音楽を簡単に転送できるようにしたいです。私の問題は、Raspberry Piでpulseaudioを実行できないことです。次の手順を試しました。

1.パルスオーディオのインストール

sudo apt-get install pulseaudio pulseaudio-module-zeroconf

2. パルスオーディオ設定

sudo nano /etc/pulse/default.pa

次の行を追加しました。

load-module module-native-protocol-unix auth-anonymous=1
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24 auth-anonymous=1
load-module module-zeroconf-publish

3. パルスオーディオ開始

まず、デーモンでpulseを始めてみました。

pulseaudio -D

また、システム全体で始めてみました。

sudo pulseaudio --system 

ただし、他のコンピュータではパルスがまったく表示されません(お互いを見つけた場合は正しく設定されています)。ここに問題がありますか?

答え1

system.pa代わりに編集する必要がありますdefault.pa。 RPIにログインして実行すると、次の行ps faxが表示されます。

/usr/bin/pulseaudio --system --realtime --log-target=syslog --log-level=1 --disallow-exit --disable-shm --exit-idle-time=-1

これがpulseaudioをreadの代わりにreadに--systemすることです。また、kodiはすでにpulseaudioインスタンスを起動しているため、単に他のインスタンスを起動することはできません。最初のインスタンスはにバインドされるため、2番目のインスタンスはバインドできません!私のkodiではpulseaudioを再起動できないため、設定ファイルを変更して再起動する必要があります。system.padefault.pa0.0.0.0:4713

リモートリスナーが実際にクライアントに表示されるようにするには、クライアントで次のことを行う必要があります。

  • モジュールのロードmodule-zeroconf-discoverpactl load-module module-zeroconf-discover)と
  • paprefsリモートレシーバーを有効にするために使用されます。最初のタブにpaprefs表示される最初のチェックボックスを選択する必要があります。 (モジュールをロードするだけでは十分ではありません。)
  • クライアントで avahi-daemon を再起動します。

avahi-browse -aクライアントがこれを使用して、実際にPAサービスを表示できることを確認できます。重要な行は次のとおりです。

+  wlan0 IPv4 root@raspbmc                   PulseAudio Sound Server local

私は2時間前にこれを行いましたが、実際には何の効果もありませんでした。はい、リモート受信機が表示され、pavucontrolそれをデフォルトの受信機に設定して音量を調整できますが、Spotifyは機能しません(音楽は再生されません。これは私の唯一のテストです)。端末を開いて実行すると動作export PULSE_SERVER=rpi02.local:4713; spotifyします。設定方法は、PULSE_SERVER別途の構成なしですぐに使用できます。 (しかし、これはUbuntu特有の問題かもしれません。)

Wi-Fiを使用する予定の場合は、別のRPIに関する質問があります。

ネットワークを介してリモートでRaspberry Piのパルスオーディオを使用すると、オーディオの再生が歪むという一般的な問題があります。明らかにWi-Fiを使用するとしばしばこの問題が発生しますが、これはPiハードウェア関連の問題であり、利用可能な回避策があります。

  1. ラズベリーパイから:sudo sed -i 's/^\(load-module module-udev-detect\)/\1 tsched=0/' /etc/pulse/system.pa
  2. Piでパルスオーディオを再起動する
  3. Piのpaサーバーへのリモートクライアントの接続

これは既知の問題であり、この解決策とコーディウィキtschedたとえば、読書ウブドヌトゥSE我々は、これがサウンドハードウェアによるタイミングの問題であることを知りました。 Linuxで他のタイミングモデルを使用すると、tsched=0CPUがより多く使用されます。このソリューションを使用すると、pulseaudioサービスはリモートストリームを再生するときに私のB + CPUの17%を消費します。

関連情報