Verwenden von Pi, um alle Audioausgaben von meinem PC auf meine Stereoanlage zu streamen

37

Mein Problem ist recht einfach, aber ich konnte keine zufriedenstellende Lösung finden.

Grundsätzlich möchte ich, dass mein Raspberry Pi an meine Stereoanlage angeschlossen wird und dann eine Audioausgabe von meinem Computer über WLAN an den PI wiedergibt.

Gibt es eine Möglichkeit, dies einfach zu tun, ohne spezielle Spieler einsetzen zu müssen? Dh gibt es sowieso für den PC nur den Pi als "Lautsprecher" zu erkennen? '

Ich möchte jeden Ton auf meinem PC über die Stereoanlage hören, dh. Spiele, Musik, Systemtöne, Benachrichtigungen, YouTube-Videos usw.

Vielen Dank!

Hieronymus
quelle

Antworten:

24

Wenn Sie Linux auf Ihrem PC ausführen, können Sie dies problemlos tun, solange Sie PulseAudio sowohl auf Ihrem Raspberry Pi als auch auf Ihrem Linux-PC installieren und ordnungsgemäß konfigurieren.

Wenn auf Ihrem PC Windows ausgeführt wird ... Fahren Sie mit dem Ende des Beitrags fort (den ich gerade aktualisiert habe).

Eine andere Möglichkeit wäre, PulseAudio als AirPlay-Empfänger / -Client zu verwenden, aber soweit ich weiß, ist dies nicht möglich.

Wenn Sie jedoch Linux verwenden, lesen Sie weiter:

Hinweis 1: PulseAudio über WLAN funktioniert auf einigen Routern einwandfrei, auf anderen jedoch nicht.

Hinweis 2: Die folgenden Anweisungen stammen aus einem Gespräch, das mehrere Raspberry Pi-Benutzer (einschließlich meiner) zu diesem Thema geführt haben .

1) Installieren Sie PulseAudio auf Ihrem Raspberry Pi

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

2) Stellen Sie sicher, dass PulseAudio automatisch startet:

sudo nano /etc/default/pulseaudio

Suchen Sie nach dem Eintrag PULSEAUDIO_SYSTEM_START und ändern Sie ihn in 1, sodass er wie PULSEAUDIO_SYSTEM_START = 1 aussieht

3) Konfigurieren Sie PulseAudio so, dass es über das Netzwerk funktioniert:

sudo nano /etc/pulse/system.pa

Fügen Sie die folgenden Zeilen hinzu:

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

load-module module-zeroconf-publish

4) Starten Sie Ihren Raspberry Pi neu:

sudo reboot

5) Installieren Sie nun auf Ihrem Linux-PC paprefs . Wenn Ihre Linux-Distribution auf Debian basiert (wie Ubuntu, Mint usw.), können Sie diesen Befehl verwenden:

sudo apt-get install paprefs

6) Führen Sie paprefs aus und aktivieren Sie unter Netzwerkzugriff die Option Erkennbare PulseAudio-Netzwerk- Soundgeräte lokal verfügbar machen

7) Aktivieren Sie unter Netzwerkserver den Netzwerkzugriff auf lokale Audiogeräte und aktivieren Sie beide Optionen (Dies ist wahrscheinlich nicht erforderlich, es sei denn, Sie möchten Ihre Linux-Box auch als Server / Senke verwenden).

8) Aktivieren Sie unter Multicas / RTP beide Optionen

9) Überprüfen Sie Ihre verfügbaren Ausgabegeräte (verwenden Sie Ihre Linux Distribution Audio / Mixer-Anwendung). Ihr Himbeer-Pi wird (sollte) aufgelistet erscheinen; Wenn Sie es auswählen, wird alles, was auf Ihrer Linux-Box abgespielt wird, auf den Raspberry Pi umgeleitet.

Wenn Ihr Raspberry Pi immer noch nicht verfügbar ist, starten Sie Ihren Linux-PC neu.


UPDATE: Alle Audiodaten von Windows an den Raspberry Pi senden

Sie müssen weiterhin die vorherigen Anweisungen befolgen, um PulseAudio auf Ihrem Raspberry Pi zu installieren und zu konfigurieren.

Nun, das müssen Sie für Windows tun:

1) Laden Sie die neueste Version von LineInCode herunter

2) Entpacken Sie die heruntergeladene Datei

2) Laden Sie PuTTYs Plink herunter und platzieren Sie die Datei plink.exe in dem Ordner, in den Sie LineInCode extrahiert haben

3) Öffnen Sie den Editor und fügen Sie den folgenden Code ein:

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"

Ändern Sie natürlich die IP-Adresse ( 192.168.1.104 ), den Benutzernamen ( pi ) und das Kennwort ( Himbeere ) entsprechend Ihrem Setup.

4) Speichern Sie die Datei als audio2rpi.bat in demselben Ordner, in den Sie LineInCode extrahiert haben

Wenn Sie nun das Audio Ihres Windows-PCs auf Ihren Raspberry Pi streamen möchten, doppelklicken Sie einfach auf die Datei audio2rpi.bat.


Gutschrift für diese Anweisungen: http://ubuntuforums.org/showthread.php?t=1121603

xfx
quelle
Danke - ich werde es versuchen! kann ich pulseaudio auch zum streamen von einem smartphone verwenden? Vielen Dank
Jerome
@Jerome Das sollte eine andere Frage sein, die Sie auf dieser Website stellen.
syb0rg
Welches Betriebssystem laufen Sie auf Ihrem Pi? Ich führe eine Neuinstallation von Raspbmc durch und das Befolgen dieser Anweisungen scheint das Gerät blockiert zu haben. Gut, dass eine Neuformatierung so einfach ist ...
gillonba
Ich habe diese Anleitung in mehreren Raspbian-Versionen ausprobiert.
xfx
Sie möchten wissen, welche IP-Adresse wir in der Standardkonfiguration für das Laden des TCP-Moduls eingeben. Ich erlebe eine leicht fehlerhafte Wiedergabe über WLAN, aber fehlerfrei über Kabel, interessant, da nethogsnur 13 KB / s verwendet werden.
M1ke
4

Ich habe einen kleinen Blogeintrag darüber geschrieben, wie ich mit PulseAudio auf dem PC und Raspbmc auf dem Raspberry Pi funktioniert habe - mit DLNA / UPnP-Streaming. Es ist hier: http://westmarch.sjsoft.com/2014/04/streaming-audio-linux-to-raspbmc/ . Hoffentlich hilft das. Es gibt eine kleine Verzögerung beim Puffern von XBMC - daher ist dies wahrscheinlich nicht besonders gut für Spiele oder ähnliches, aber es funktioniert gut für Musik.

Es ist eine ziemlich lange Anleitung - daher der Link hier, aber hier ist eine Zusammenfassung der Option, die mit DLNA / UPnP für mich funktioniert hat:

  • Apt-Get Rygel installieren
  • Öffnen Sie die PulseAudio-Einstellungen und aktivieren Sie unter " Netzwerkserver" die Option " Lokale Audiogeräte als DLNA / UPnP-Medienserver verfügbar machen" und " Separates Audiogerät für DLNA / UPnP-Streaming erstellen"
  • Bearbeiten Sie Rygels Konfiguration in /etc/rygel.confoder $HOME/.config/rygel.confund konfigurieren Sie es für die Veröffentlichung mit GstLaunch(siehe Konfiguration unten).
  • Wechseln Sie zu Ihrem XBMC-Dateimanager, suchen Sie nach einer neuen Quelle, wählen Sie UPnP-Geräte aus , und Sie sollten Gst Launch als Option sehen
  • Dann sollten Sie XBMC anweisen können, Audio von diesem Stream abzuspielen

Hier ist die Konfiguration für Rygel, um GstLaunch zu verwenden:

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Audio on @HOSTNAME@
mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc
Matt Hampton
quelle
Könnten Sie eine vereinfachte Anleitung aus Ihrem Blogeintrag einfügen, falls in Zukunft etwas damit passiert?
Fred
4

Wollte das selber machen von Windows7 -> RaspberryPi (OpenElec) und bin über deine Frage gestolpert. Nach einigen Recherchen habe ich immer noch keine zufriedenstellende Lösung für OpenElec gefunden, aber ich hatte genug Informationen, um eine zu finden, die sehr einfach ist und wirklich mit hoher Qualität und nur etwa 1 Sekunde Verzögerung funktioniert!

Du brauchst:

  1. VLC Media Player (ich habe Rincewind v2.1.3 auf meinem Win7 x64 verwendet)
  2. Eine Soundkarte, die ein "Stereo Mix" -Aufnahmegerät bietet (ich hatte das Glück, eines an Bord zu haben)
  3. Ein Raspberry Pi (ich benutze OpenElec 4.0.5, obwohl es für XBMC im Allgemeinen funktionieren sollte)

Hinweis: Wenn Sie keine Soundkarte haben, die dies unterstützt, können Sie versuchen, VAC ( http://www.virtualaudiocable.net/ ) zu verwenden, obwohl ich Ihnen sage, dass es bei mir nicht richtig funktioniert hat, schlechte Audioqualität und Puffer Probleme den ganzen Weg ... aber vielleicht bin es nur ich.

Schritt 1)

Erstellen Sie eine Batch-Datei, die einen VLC-HTTP-Streaming-Dienst im Hintergrund startet und Audio vom Aufnahmegerät "Stereo Mix" aufzeichnet:

@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

Anmerkungen:

  1. Möglicherweise müssen Sie das Aufnahmegerät ändern, wenn Ihr Gerät einen anderen Namen hat. Ich habe Audacity ( http://audacity.sourceforge.net/ ) verwendet, um die Namen meiner Aufnahmegeräte zu überprüfen, da ich sie bereits installiert habe
  2. Ja, die Audio-Bitrate ist sehr hoch (maximal für Vorbis), aber je höher die Bitrate, desto schneller ist der Puffer gefüllt und desto kürzer die Verzögerung :-) (Sie können die Explizität der Puffergröße für Musik auf XBMC nicht ändern, ich verwende 5 MB Buffer on Mine im Allgemeinen)
  3. Ich habe FLAC, MP3 und sogar WAV ausprobiert und abgesehen davon, dass nur MP3 und Vorbis mit meinem Pi funktionierten, hatte ich die schnellste Ladezeit auf dem Pi (im Grunde sofort) und die geringste Verzögerung mit Vorbis

Schritt 2)

Navigiere zu

\\ rapsberrypi \ Userdata \ playlists \ music

und erstelle dort eine .strm-Datei mit einem Namen deiner Wahl (ich habe meine VLC.strm genannt), die den einfachen Link zu deinem VLC-Stream enthält: (ändere die IP auf die IP deines PCs: p)

http://192.168.0.1:8080/audiostream.ogg

Schritt 3)

Sie können nun entweder das von "Stereo Mix" aufgenommene Audiogerät in den Windows-Soundeinstellungen als Standard festlegen oder einen Player wie VLC öffnen und das nicht standardmäßige Gerät manuell zum Abspielen von Musik auf Ihrem RaspberryPi verwenden:

Öffnen Sie Ihren VLC (zusätzlich zu dem in Ihrem Tray minimierten, der Ihren "Stereo Mix" überträgt) und führen Sie die folgenden Schritte aus:

  1. Extras -> Einstellungen
  2. Audio
  3. Ausgabemodul: "WaveOut Audio Ausgang"
  4. Gerät: - Ihr (analoges) Gerät, das vom Aufnahmegerät "Stereo Mix" erfasst wird -
  5. speichern
  6. Starten Sie VLC neu
  7. Spiel Musik

Schritt 4)

Auf deinem RaspberryPi:

  1. Navigieren Sie in XBMC zu Musik -> Wiedergabelisten
  2. Wähle VLC.strm (oder wie auch immer du es genannt hast)
  3. GENIESSE MUSIK!

Fehlerbehebung

Wenn Sie Probleme haben, Ihren "Stereo Mix" zum Laufen zu bringen oder aufzunehmen, spielen Sie zuerst in Windows herum, indem Sie ihn beispielsweise mit Audacity aufnehmen und einige Forumvorschläge ausprobieren, wie:

dieses:

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

oder dieses:

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

Richtig, genug Tippen für heute, hoffe, das war für jemanden hilfreich!

BR, Toten

Toter Mann
quelle
3

Die hier beschriebene "LineInCode" -Lösung funktioniert - aber der Sound über WLAN ist fürchterlich. Die oben bereitgestellte VLC-Lösung funktioniert auch - aber es muss viel geklickt werden. Ich kombinierte beides in einer Batch-Datei, die VLC als Streamer auf meinem PC und mpg123 als "Listener" auf dem PI starten würde. Es wirkt wie ein Zauber für mich. Sie müssen Plik im selben Ordner haben (wir benutzen es als ssh-client). Ich benutze dieses Skript von heute an, um MP3s auf meinem Laptop anzuhören, während der Soundoutput der Pi ist:

            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%"
leosok
quelle
1

Eine Möglichkeit, dies zu erreichen, ist die Installation des Volumio-Betriebssystems auf dem Raspberry PI ( https://volumio.org ). Befolgen Sie dazu die dort angegebenen Anweisungen. Diese Distribution enthält einen ShairPort-Empfänger, mit dem Apple-Geräte Audio an ihn streamen können. Alternativ können Sie Shairport auch auf einer Distribution Ihrer Wahl installieren.

Installieren Sie auf Ihrem Windows-PC tuneblade ( http://tuneblade.com ), dessen kostenlose Version es Ihnen ermöglicht, das Audio Ihres Computers zum ShairPort auf Ihrem Himbeer-Pi zu streamen. Es funktioniert auch gut mit VLC, um die Audioverzögerung beim Anzeigen von Videos usw. zu beseitigen.

Das funktioniert bei mir - ich hoffe, es könnte auch bei Ihnen funktionieren.

rdt25
quelle
Willkommen bei Raspberry Pi Stack Exchange! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
RPiAwesomeness
Tuneblade funktioniert auch mit Pi MusicBox
Eingang
0

Soweit ich weiß, gibt es (noch) keine Lösung. Es gibt einen Standard / eine Technologie namens AVB , die Unterstützung für 802.11 ist jedoch auf die Zeitsynchronisation beschränkt.

themihai
quelle
-1

Haben Sie ein einfaches Bluetooth-Audio-Streaming mit einem an Ihre Stereoanlage angeschlossenen A2DP-Adapter versucht? Das mit einem Raspberry Pi zu tun, scheint übertrieben, obwohl ich zugeben werde, ein A2DP-Bluetooth-Audio-Streaming-Gerät mit einem Raspberry Pi und einem billigen USB-Bluetooth-Adapter zu bauen.

G Ragib
quelle
Es ist großartig, dass Sie einen Raspi erstellt haben, der A2DP streamen kann, aber Ihre Antwort hilft mir nicht, dasselbe zu tun, daher ist diese Antwort keine Antwort.
Mark Booth
Kein pi benötigt. Koppeln Sie Ihren PC mit einem Bluetooth-Empfänger und senden Sie soound direkt von Ihrem PC an Ihr Sterol. Der Bluetooth-Empfänger sollte als Audioausgabe auf Ihrem PC angezeigt werden.
Christopher Biggs