welle.io – DAB+ Radio verteilen mit Snapcast

Wie wir das Tool Welle.IO mit einem Desktop nutzen können, habe ich HIER bereits gezeigt.
Nun möchte ich dir eine Möglichkeit zeigen, wie du Welle.IO per Komandozeile steuern kannst.
Damit können wir ein kleinen aber feinen DAB+ Radio-Server zusammenbauen, um im Haus synchron das Signal per LAN oder WLAN verteilen zu können.
Was alles zu tun ist, siehst du hier im Video.

Systemanforderungen:

CPU: min. 2×2,0GHz (x86/x64) | min. 4×1,2GHz (arm/arm64)
RAM: min. 256MB freier Speicher
HDD: min 1,5GB frei
NET: LAN-Verbindung empfohlen, WLAN geht zur Not auch




Notwendige Befehle

welle.io und den RLT-SDR-Teiber installieren:

# apt install welle.io rtl-sdr -y
# reboot

Verschiedene Startbefehle für welle-cli:

Die Hilfe ausgeben lassen:

welle-cli -h

Die aktuelle Version ausgeben lassen:

welle-cli -v

Den Webserver mit Port 7777 starten:

welle-cli -w 7777

Den Webserver mit Port 7777 starten und direkt Kanal 8D auswählen:

welle-cli -w 7777 -c 8D

Den Webserver mit Port 7777 starten, direkt Kanal 8D auswählen und die TII Info deaktivieren:

welle-cli -w 7777 -c 8D -T

SystemD-Datei für welle.io:

# nano /etc/systemd/system/welle.service
[Unit]
Description=Welle.IO Radio Server

[Service]
Type=simple
WorkingDirectory=/usr/bin/
User=pi
Group=pi
ExecStart=/usr/bin/welle-cli -w 7777 -c 8D -T
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target

Dann noch den Dienst aktivieren und starten:

# systemctl enable welle.service
# systemctl start welle.service

ffmpeg installieren:

# apt install ffmpeg -y

Snapcast Server herunterladen und installieren:

# wget https://github.com/badaix/snapcast/releases/download/v0.29.0/snapserver_0.XXXXXXX-1_arm64_bookworm.deb
# apt install /pfad/zum/Download/snapserver-XXXXXXXXXXX.deb

Und der Rechte-Fix:

# chown root:root /tmp/snapfifo-*

Ein Radio-Stream zu Snapcast leiten:

ffmpeg -y -i http://192.168.111.111:7777/mp3/0xd301 -f u16le -acodec pcm_s16le -ac 2 -ar 48000 /tmp/snapfifo-DEIN-DATEINAME

Den Stream mit SystemD laufen lassen:

# nano /etc/systemd/system/ein-guter-name-ausdenken.service
[Unit]
Description=DAB Radio Stream
After=network.target

[Service]
ExecStart=/usr/bin/ffmpeg -y -i http://192.168.111.111:7777/mp3/0xd301 -f u16le -acodec pcm_s16le -ac 2 -ar 48000 /tmp/snapfifo-DEIN-DATEINAME
Restart=always
User=pi
Group=pi

[Install]
WantedBy=multi-user.target

Dann noch den Dienst aktivieren und starten:

# systemctl enable ein-guter-name-ausdenken.service
# systemctl start ein-guter-name-ausdenken.service


Weitere Links

>> Snapcast Projektseite
>> Mopidy + Snapcast installieren
>> Snapcast-Client zusammenbauen
>> DAB+ Empfangskarte
>> Welle.IO GUI


Erfahrungen mit dem Raspberry Pi 3B+

Wie im Video zu sehen, eignet sich der Raspberry Pi 3B+ mit seinen 4 CPU-Kernen á 1,2GHz recht gut als Abspielgerät.
Sofern ausreichender Empfang vorhanden ist, kann problemlos darüber Musik abgespielt werden.
Ist der Empfang perfekt, sind auch 4 oder 5 Streams parallel ohne Probleme möglich.
Schwankt jedoch die Empfangsleistung und der Pi muss anfangen Fehler zu korrigieren, ist die CPU-Leistung doch zu schwach.
Hier schnellt die CPU selbst bei einem Stream des öfteren mal auf 100%.
Dabei treten dann Aussetzer im Ton auf.
Hat man ein System mit mehr Leistung zur Verfügung (z.B. ein einfaches Notebook), können Fehler schneller behoben werden.
Dann merkt man die Fehlerkorrektur kaum.
Bei meinem im Video gezeigten Aufbau, wäre etwas Leistungsstärkeres durchaus sinnvoller.
Mit einem LXC-Container auf einem Mini-PC aus der Proxmox-Serie läuft es durchaus besser.

Erfahrungen mit dem Nooelec RTL-SDR v5

Der Stick eignet sich als DAB+ Empfänger, da alle notwendigen Frequenzen unterstützt werden.
Sehr schön ist auch, dass für alle gängigen Betriebssysteme die passenden Treiber zur Verfügung stehen.
Für 35-45€ – je nach Shop – ist der Stick im Rahmen des akzeptablen. Mehr würde ich aber dafür nicht ausgeben wollen.

Negativ-Punkte gibt es aber auch welche.
Der Stick wird im Betrieb sehr heiß. So heiß, dass man ihn nicht mehr Anfassen kann.
Es ist daher Ratsam den Stick in irgendeiner Form zu kühlen.
Ich hatte ein alten CPU-Kühler noch übrig, den ich mit zwei Kabelbinder kurz an dem Stick befestigt hatte.
Für die beste Wärmeabfuhr noch etwas Wärmeleitpaste dazwischen.
Übertrieben, aber damit bleibt der Stick sehr kühl.
Laut E-Mails und Amazon-Reviews bin ich aber nicht der einzige mit „Hitzeproblemen“.

Auch ist der USB-Anschluss sehr empfindlich.
Wackelt man nur ganz leicht dran, bricht die Verbindung zum Rechner ab und man muss den Stick ziehen und wieder stecken.
Für ein stationären Betrieb nicht tragisch, nur doof.
Für den mobilen Einsatz aber ziemlich ungeeignet.


Welle-CLI mit Proxmox LXC

Der USB-Stick kann auch bei einem Proxmox-Host durchgereicht werden.
Einfach mit folgendem Befehl den USB-Stick anzeigen lassen:

lsusb

Hier muss die BUS-Nummer und Geräte-ID herausgefunden werden.
Hier im Beispiel, steckt der USB-Stick an BUS 1 und hat die ID 3.
Also benötige ich die Zahlen 001 und 003.

Mit diesen Infos kann ein Gerät durchgereicht werden (Device Passthrough).

2 Kommentare

  1. Ich finde beide Artikel zu Welle.io interessant. Allerdings erscheint es mir technisch aus der Zeit gefallen. Vor 20 Jahren, mit langsamen Internetzugang, erschiene mir das Konzept noch plausibel. Aber heutzutage, mit immer verfügbaren Streamingdiensten und Audiotheken, hadere ich mit so einer Anwendung.

    Setzt du dieses Konzept im Alltag denn ein?

    • Hi!
      Vor 20 Jahren gab es noch kein DAB+ 😉
      Es ist als Notlösung ganz praktisch, wenn das Internet ausgefallen ist.
      Ein YouTube-Kommentar hat auch eine gute Begründung da gelassen: Man muss für nichts weiter bezahlen – außer Strom. Bei den Streaming-Diensten musst du für Internet und ggf. für den Dienst selbst noch einmal zahlen.
      Die GEZ lassen wir mal außen vor, das wäre ein anderes Thema.

      Im Alltag kann ich es bei mir nicht sinnvoll einsetzen, da ich hierfür eine größere Außenantenne benötige.
      Die Aussetzer sind auf Dauer etwas nervig.
      Dies liegt aber an meinem Standort, nicht am Setup selbst.

      Zum basteln und mal schauen was geht, ist Welle.IO ganz nett und alles ist recht kostengünstig umsetzbar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.