it-swarm.com.de

Wie streame ich meine GNU / Linux-Audioausgabe über WI-FI auf Android-Geräte?

Ich möchte meine Audioausgabe über das Netzwerk (Wi-Fi) auf meine Android-Geräte streamen. Ich suche keine Musik-/Video-Streaming-Lösung, aber ich würde jeden Audio-Ausgang meines GNU/Linux-Desktops wie einen Bluetooth-Kopfhörer auf mein Android-Gerät streamen.

Mein GNU/Linux-Desktop ist Debian Wheezy und der Sound wird von pulseaudio bereitgestellt.

Ich habe das Raop-Modul von Pulseaudio ausprobiert (und es auf paprefs aktiviert) + die AirBuddle-App von Android, aber das Audio wird nicht gestreamt (Pulseaudio-Geräte stellen eine Verbindung zu AirBuddle her, aber der Ton wird nicht wiedergegeben, in einigen Programmen ist eine Verbindungsstörung aufgetreten Bei anderen Programmen bleibt der Ton hängen.

36
semente

Es gibt eine sehr einfache Lösung, da PulseAudio bereits über alle erforderlichen Tools verfügt.

  1. Rufen Sie den Namen Ihres Quellgeräts mit dem Befehl pactl list | grep Name ab.
  2. Erstellen Sie das folgende Skript mit dem Namen pashare:

    #!/bin/sh
    case "$1" in
      start)
        $0 stop 
        pactl load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=<source_name_here> record=true port=8000
        ;;
      stop)
        pactl unload-module `pactl list | grep tcp -B1 | grep M | sed 's/[^0-9]//g'`
        ;;
      *)
        echo "Usage: $0 start|stop" >&2
        ;;
    esac
    
  3. Führen Sie einige Überprüfungen und Vorbereitungen durch (um die Skriptausführung zu ermöglichen und zu überprüfen, ob der Port erfolgreich geöffnet wurde):

    chmod 755 pashare
    ./pashare start
    netstat -nlt | grep 8000 
    telnet 127.0.0.1 8000
    
  4. Downloaden und installieren Sie PulseDroid.apk

  5. Starten Sie die App auf Ihrem Handy. Setzen Sie die IP-Adresse auf Ihren Computer und den Port auf 8000.

P.S. Sie können auch auf dieser Wiki-Seite allgemeine Informationen zu Pulseaudio-Netzwerk-Streaming und auf dieser Wiki-Seite zu RTPnachlesen. _ Streaming. Erwarten Sie nicht zu viel vom Streamen von Roh-Audio über WLAN. Es braucht enorme Mengen an Bandbreite. Selbst mit einem High-End-WLAN-Router/-AP mit einem starken Signal konnte ich nicht mehr als ruckeliges Audio herausholen. Am besten richten Sie einen geeigneten Medienserver ein (wie Rygel, der gut mit Pulseaudio zusammenarbeitet), um das Roh-Audio in MP3 umzuwandeln und stattdessen zu streamen.

25
AlexAndersan

Sie können VLC verwenden, um einen MP3-Stream der pulseaudio-Ausgabe über HTTP zu liefern.
Der Hauptvorteil ist, dass Sie keine spezielle Software auf Ihrem Remote-Gerät installieren müssen. Sie benötigen lediglich einen Webbrowser (oder einen Musikplayer), um den Stream abzuspielen. Der Nachteil ist, dass es sich nur um Audio handelt. Einige Sekunden Verzögerung machen es für Videos unbrauchbar

  1. Finden Sie den Ausgabenamen von pulseaudio mit:

    pactl list | grep "Monitor Source" 
    
  2. Starten Sie den VLC-HTTP-Server und ersetzen Sie XXXX durch Ihren Ausgabenamen:

    cvlc -vvv Pulse://XXXX --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
    
  3. Finden Sie bei Bedarf Ihre lokale IP-Adresse mit ifconfig

  4. Zeigen Sie auf Ihrem Remote-Gerät mit dem Browser (oder der Audio-Streaming-App) auf:

    http://your.local.ip.address:8888/pc.mp3
    

Hinweis: Der Stream wird nicht von der auf dem Server festgelegten Lautstärke beeinflusst, es sei denn, Sie schalten ihn vollständig stumm. Bei Bedarf können Sie den Pegel nur geringfügig über 0 halten, um nur das Remote-Gerät zu hören.


Die ersten beiden Schritte werden durch polynomial_donut zu einem zusammengefasst:

cvlc -vvv Pulse://$(pactl list | grep "Monitor Source" | awk '{print $3}') --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
16
wilks

Um die Audioausgabe über WLAN auf Ihr Android-Telefon zu streamen, müssen Sie die Serversoftware, die Audio sendet, auf dem PC und die Clientsoftware auf dem Android-Gerät installieren. Verfügbare Optionen sind

WiFi Audio Wireless Lautsprecher

Führen Sie die WiFi Audio Android App aus und klicken Sie auf Start. Die IP-Adresse des Mobilgeräts wird unten angezeigt, nachdem Sie die Windows/Linux-Anwendung ausgeführt und die IP-Adresse des Mobilgeräts in das Feld IP-Adresse eingegeben haben. Klicken Sie anschließend auf Start der PC-Anwendung. Jetzt werden alle vom PC ausgegebenen Audiodaten an das Mobilgerät gesendet und Sie hören Audiodaten auf dem Mobilgerät.
Download

SoundWire

Übertragen Sie kabellos Musik oder Audio von Ihrem PC auf Ihr Android-Telefon, Tablet oder andere PCs
HomepageSiehe auch

Andere nützliche Links
XBMCAndroid SE

9
totti

Wenn Sie Soundwire verwenden und WLAN von Ihrem Laptop oder PC aus senden, stellen Sie mit ifconfig sicher, dass Sie die richtige IP-Adresse verwenden. Dies funktioniert bis heute, aber die meisten Linux-Distributionen benötigen einen zweiten WLAN-Adapter, um das WLAN zu senden, und Sie müssen den verwenden, mit dem Ihr Android verbunden ist. nicht derjenige, der das Internet empfängt. Derjenige, der es rausschickt.

d.h. -> Wenn Sie den WLAN-Adapter "A" zum Herstellen einer Verbindung zum Internet und "B" zum Senden von WLAN über "A" verwenden, verbinden Sie SoundWire unter Android mit "B" und nicht mit "A".

SoundWire wird NICHT verbunden oder gestreamt, wenn Sie eine Verbindung mit dem Adapter herstellen, der das WLAN nicht sendet. Geben Sie daher Ihre IP-Adresse entsprechend in Ihre Andoroid-App (s) ein, indem Sie den Terminalbefehl ifconfig verwenden.

Ja, es gibt Verzögerungen, aber diese App, SoundWire, ist das einfachste "Multi-Connect to IP and Forget" -System, das es gibt. Keine verrückten Menüs zu durchlaufen. Und ja, es können mehrere Verbindungen hergestellt werden. Ich habe neulich 2 benutzt. Die Anzahl der angeschlossenen Geräte wird im Hauptfenster an das sendende Gerät angehängt.

Ich persönlich benutze es bis heute als Mehrraum-/Kurzstrecken-Wifi-Funksystem bei mir.

Genießen.

0
Roiikka