Projekt: Livestreaming mit dem Raspberry Pi

Hallo zusammen,

diesmal stelle ich keine Frage, sondern habe ein, meiner Meinung nach, cooles Projekt: Ich habe einen Raspberry Pi (das erste Modell) dazu gebracht von einem USB Interface an einen Icecast 2.0 Server zu streamen. Hat ein wenig gedauert, da ich nicht wirklich Fit in Linux bin, aber nun läuft der kleine.

Das Ziel: Ich engagiere mich bei Radio München und betreue da bisher die meisten Livestreams, im Regelfall mit meinem kompletten Podcast Equipment. Das ist viel und Sperrig und meistens viel zu viel. Jetzt wollte ich mal was bauen, was klein, leicht und günstig ist und da bin ich am Pi hängen geblieben. Außerdem sollte es einfach sein, damit es auch mal jemand anderes machen kann.

Wie soll das ablaufen? Man kommt an den Ort der Veranstaltung, steckt den Pi “ins Internet”, den Ton ein und drückt auf senden. Fertig. Der Rest geht dann über die Software im Studio.

Hardware:
Raspberry Pi (wird die aktuelle Version)
Raspberry Pi Touchscreen Display 7"
Funktastatur/Maus
Audio Interface (Will ein 2-Kanal Mischpult)
Mikrofon (SM58 oder so)

ja, das war es dann wohl.

Ich nutze DarkIce zum Streamen und natürlich Lame für die MP3-Konvertierung.

Was ich aktuell noch machen muss:

  • USB Interface aussuchen
  • ein Script schreiben (keine Ahnung wie), welches per Klick auf ein Icon Darkice öffnet und den Stream startet
  • Script zum beenden des Streams
  • Script zum öffnen der config-Datei in einem editor mit Admin Rechten.

Ist so ein Projekt für jemand von euch interessant? Ich denke, ich werde am Ende die SD-Karte als Image bereit stellen, so dass man nur noch einmal die Config Datei anpassen muss und loslegen kann.
Sollte von euch jemand Erfahrung haben mit USB Interfaces unter Linux oder sagen, die Scripte sind ein Klacks, dann freue ich mich natürlich über Unterstützung.

Beste Grüße,
Josef

7 „Gefällt mir“

Ein extra Gerät das nur Streaming macht. Will man ja schon haben, ne? :sunglasses: klingt auf jeden Fall sehr interessant.

1 „Gefällt mir“

Hey @MacSnider,

ich weiß gerade nicht, ob du das ironisch meinst :slight_smile: Aber hey, wie dem auch sei :wink:
Bei uns ist es halt so, dass wir wohin kommen, wo wir mit dem Ton an sich nichts zu tun haben (Live Veranstaltungen) und da nur ein Signal bekommen, über das höchstens mal drüber moderiert wird. Dafür ist das kleine Teil gemacht.

Habe unterdessen ein nettes Set auf Amazon gefunden wo mal alles drin ist bis auf das Audio Interface:
http://amzn.to/1PNzjcD (Pi2, Netzteil, W-Lan Dongle, Touch-Display).
Wenn ich fertig bin und das Image auch gezogen ist, dann gibts das auf meiner Webseite zum Download.

1 „Gefällt mir“

Nein @josef_hajda das war tatsächlich ernst gemeint. Hab mal das Emoji geändert.

Ja geil!
Seit ich den pi zu hause rumliegen habe, habe ich immer mal wieder den Gedanken gefasst, die Kiste zum livestreamen zu nutzen.

Wobei meine Gedanken eher um den Fall kreisten, dass Audiotechnik soweit da ist, aber das Setup noch für den Livestream fertig gemacht werden müsste.

Der pi hätte dann ein Audiointerface, ein Internetz (ob wlan oder mobilfunk sei jetzt mal dahin gestellt) und dazu entsprechende Scripts, die auf einen externen icecast-Server schicken.

Das Ganze dann per Buttons und ein paar LEDs für den Status responsiv machen und gut.

1 „Gefällt mir“

Es gibt mit Darksnow eine Art GUI für Darkice. Ich persönlich wäre mit dem Pi allerdings generell skeptisch, ob dieser genug Leistung und Reserven hat, um eine komplette grafische Oberfläche darzustellen und gleichzeitig einen sauberen Stream zu produzieren.
Wenn ich das richtig mitbekommen habe, kann selbst ein Virenscannerupdate im Hintergrund einen normalen Rechner soweit ausbremsen, dass es hörbare Artefakte im Stream gab.
Du solltest versuchen, das Encodieren per Hardware erledigen zu lassen (ggf. mal GStreamer angucken, damit lassen sich sehr flexibel Audiopipelines mit verschiedenen Encodern zusammenstellen).

Die zweite Schwierigkeit insbesondere auf Veranstaltungen, ist ein stabiles Netz, da in Verbindung mit Icecast bereits ein Verbindungsabbruch genügt und alle Hörer sind ebenfalls weg. Generell würde ich da WLAN vermeiden, auch weil du dort deine Zugangsdaten unverschlüsselt durch die Luft pustest (Icecast kann auch SSL, aber so ziemlich kein Sourceclient unterstützt das)

1 „Gefällt mir“

Hey @cato

danke für dein Feedback.
Ich will das ganze so lösen, dass man einfach ein Skript hat zum starten und eines zum beenden. Eine GUI brauche ich eigentlich nicht. Bin gespannt, was der Pi2 dann am Ende wirklich schafft, der erste, den ich zuhause habe hat ohne Verbindungsabbruch ganz gut durchgehalten, wobei das Signal irgendwann kaputt war, allerdings fing das wohl erst nach 20+ Stunden an mit “Kratzen”. Also soweit ok. Alleine schon wegen der Stabilität bevorzuge ich WLan, wobei ich den Sicherheitsaspekt noch nicht in Betracht gezogen habe.

Aus meiner Erfahrung mit unseren bisherigen Radio Streams kann ich aber sagen, dass wir eigentlich immer ein Kabel verlegen konnten und so sehr stabil waren. Der Vorteil ist, dass es bei uns über das Radio läuft, also es ist keiner direkt in meinem Stream. Sollte der wirklich abbrechen, springt die Software einfach zum nächsten Song und man kann nachjustieren… Aber das ist bei uns jetzt spezifisch und generell sollte es schon stabil sein, da hast du recht.

Frage: du klingst, als hättest du Ahnung von der Technik :slight_smile: Du kannst mir nicht zufällig beim Erstellen der Skripte helfen?
Grüße,
Josef

Moin!

So ein Kistchen hatte ich vor 2 Jahren schon mal mit ins Sendezentrum auf dem CCCongress gebracht, Der Haken bei RasPi ist, dass sowohl audio als auch Ethernet auf demselben USB-Pin laufen und es dadurch immer wieder bitzelt. Da helfen leider auch größere Buffer nicht. Auch kein Upgrade auf den RasPi2 - der ist zwar schneller (was hier egal ist), hat aber den selben Designfehler. Aus demselben Grund ist StudioLink auf den (ein wenig teureren) BeagleBoneBlack gewechselt. Da bin ich aber noch nicht zu gekommen.

Daher habe ich die LiveBox auf RasPi-Basis dann auch nicht mehr weiterverfolgt.

Weia, ich sehe gerade: das Projekt ist schon 3 Jahre alt. Ich hatte damals kein Display eingebaut, sondern die Rückmeldungen über Tonspur gegeben (“Suche Netz” … “Netz gefunden” … "Live in 5 - 4 - 3 - 2 " … “Fehler, starte neu”) die dann jeweils den aktuellen Status ansagten.

Ach ja: ein “Streamen” von SD oder auch USB-Stick ist da problemlos, da das anders als Audio-In nicht Timing-Kritisch ist. Auch ein 'Raus-Streamen von Audio ist unproblematisch.

Update: Raspberry 2 mit Display ist angekommen und läuft bisher.
Morgen dann noch das neue Mischpult dran klemmen und den Stream testen :wink:

1 „Gefällt mir“

Mal eine Frage, vielleicht wisst ihr das @cato und @vtanger
Ich will mein Image des Pi sichern. Jetzt habe ich das problem, dass die Karte 32GB hat und das Image nun auch 32GB wird…

Liegt das daran, dass der Kleine allen Speicher zur Verfügung hat? Habt ihr eine Ahnung, wie ich das Image machen kann, so dass NUR der Speicher benötigt wird, der belegt ist?

danke!

Entweder Du füllst vorher den Speicher mit Nullen

dd if=/dev/zero of=x
rm x

Imagest und GZipst die SD dann

dd if=/dev/mmvblkp0 | gzip -c > image.dd.gz

oder aber Du machst einfach ein TAR

tar cvzpf backup.tar.gz
–exclude=/sys
–exclude=/proc
/

Beim RasPi ist das einfacher, da man da keinen MBR berücksichtigen muss. Da muss man dann nur eine FAT-Partition(1) mit ca. 300MB anlegen und unter /boot mounten und eine zweite EXT4, die dann als Root gemoutet wird - und das ZIP zurückspielen.

So kann man dann auch auf kleinere/größere SDs umbauen.

ok… jetzt habe ich den Fehler gemacht, nicht dazu u schreiben, dass mein Workflow so aussieht, dass ich die Karte in den Mac Stecke und das Image dort mache. Mein Fehler. Sorry. Danke dir auf jeden Fall mal für den Hinweis. ich bin nicht sicher, ob es schlau ist, als völliger Linux Idiot das auf dem Pi selbst auszuprobieren. wäre ja doof, wenn ich mir beim erstellen des Backups das System zerschieße :smiley: Aber ich weiß ungefähr, worauf du hinaus willst, vielleicht bekomme ich das auf dem Mac auch mal hin…

Das Backup vom RasPi aus (auf einen USB- oder Netzwerk-Datenträger) sollte ziemlich problemlos sein. Beim DD hast Du dann anfangs einen leicht korrupten Datenträger, aber wenn der RasPi während des Backups nichts gemacht hat (v.a. keine Datenbank am Laufen war), dann geht das meist gut.

Tricky wird’s nur beim Restore. Ein ganz großer Haken ist beim DD auf Medien, dass die nur selten gleich groß sind. Denn DD will Zielmedien, die mindestens so groß sind wie das Original - sonst zerhaut’s Dir früher oder später Dein Filesystem. Und dann ist es schon blöd, wenn Deine “32GB” Original-SD mit 32748 MB auf eine mit 32732 MB kopiert werden soll (…und beide nicht die versprochenen 32768 MB liefern - aber das ist ein anderes Thema).

Der Mac sollte eigentlich auch ein TAR haben (keine Ahnung, mein letzter Mac war noch unter MacOS 7.1) - auf der Command Shell (oder wie auch immer das unter einem Mac heißt).

Ich habe jetzt mal ein gZIP gemacht und siehe da, 4,9 GB. Immer noch groß, aber vertretbar. Heute Abend teste ich mal das wiederherstellen und dann ists gut :slight_smile:

So… alles fertig und läuft. Dazu gibt es auch alle Punkte einzeln als Blogbeiträge. Veröffentlichung hat gestern gestartet und geht bis Dienstag Vormittag, dann ist der letzte online.

Alle Aspekte, die ich beachtet habe und auch ein fertiges Image gibt es unter

Bin gespannt auf eure Meinung!

1 „Gefällt mir“

Hallo aus Hannover,

ich bin neu hier und daher erstmal ein freundliches “Hallo” an alle hier.

Ich betreibe zur Zeit ein Projekt in einer Freikirche um Übersetzungen in Farsi und Spanisch möglich zu machen.

Vorgabe: Ein, oder mehrere Übersetzer melden sich am Mumble-Server an, diese werden dann durch den Admin verifiziert und als Sprecher eingerichtet und dem jeweiligen Übersetznungskanal zugeordnet. Das Ganze funktioniert via Headset (Übersetzer und auch die Benutzer).

Die Benutzer scannen einen QR-Code, mit dem sie sich mit dem WLan der Kirche verbinden.
Über die Plumble/Mumble-App können die sich dann auf dem jeweiligen Kanal schalten und zuhören.

Es funktioniert, ist mir aber noch zu aufwendig!

Mein Traum ware es für jeden Sprachkanal einen Raspi zur Verfügung zu stellen, Kommunikation dann via IceCast.

Der Router in der Kirche, den ich hierfür nutzen möchte, ist autark, also hängt nicht im Internet, also wirlich nur für das WLAN für die Übersetzung gedacht.

Also was ist zur Zeit im Einsatz:
Ein Raspberry Pi 3 mit Raspian Stretch 2018-03-13 und einem Installierten Mumble-Server und ein TP-Link C60 Router, der die Wireless-Verbingungen zur Verfügung stellt. Der Raspi hängt direkt über LAN-Kabel am Router, somit sind max 4 Raspies möglich, eher 3 um einen in Reserve zu haben…

Was suche ich nun und was will ich machen?.

Mein Traum ist je einen Raspi mit IceCast pro Sprache zur Verfügung zu haben. Raspi in Übersetzerkabine mit Mikro und der Übersetzer bekommt den jeweiligen Text via Kopfhörer, oder das Ganze auch über Headset, aber man muss nichts mehr administrieren. Hochfahren und läuft! :wink:

Ergo die Besucher sehen im internen WLAN den jeweiligen Sprachkanal und können wählen und zuhöhren was der Übersetzer da hereinspricht. Für mich das alles ohne Administrieren zu müssen!!!

Geht so etwas?

Über Antworten freue ich mich jetzt schon :wink:

Thomas

Hi Thomas,

kurze Frage: Macht dir die Verzögerung was aus? Bei mir hat Icecast ca. 10 bis 20 Sekunden verzögerung von Aufnahme bis Ausspielung auf dem Server.

Falls das kein Problem ist, schau dir mal das hier an:

Beste Grüße,
Josef

Bevor wir erst butt (hässlichste Software der Welt!) und nun den StudioLink Live Stream verwendet haben hatte Nerdic Talking auch für ein paar Folgen einen Live Stream via Raspberry Pi. Allerdings nicht via USB Audiointerface. Beim Pi ist alles per USB angebunden, LAN, WLAN, … und daher gibt es viele Berichte über Probleme mit USB Audio Interfaces.

Wir haben mit einer Soundkarte für den Raspberry Pi von Wolfson (Nachfolger für den aktuellen Pi : https://www.element14.com/community/community/raspberry-pi/raspberry-pi-accessories/cirrus_logic_audio_card (auch schon nicht mehr lieferbar :frowning: )

Das beste daran: die Karte hat ein SPDIF Out und SPDIF In. Darüber hatte ich es dann mit meinem Interface (C-Media C600) verbunden.

Lief top!

Alternativ kann man sich die Kisten von Odroid oder Beagle Bone mal anschauen (Odroid XU4 zum Beispiel). Die haben auch anständiges LAN und USB.

1 „Gefällt mir“

Oh weh, da bin ich ja in einen ganz alten Beitrag rein gepoltert :wink:

Sorry

1 „Gefällt mir“