Streaming server


Die Planung

Für ein Projekt in meinem privaten Umfeld gab es seit Längerem einen Stream, der mittels No23Player und Windows-PC auf die Beine gestellt wurde. Von einem Tag auf den anderen gab es plötzlich sporadische Streamabbrüche, was ziemlich nervig ist, wenn sich der Stream dann nicht wieder von allein aufbaut. Weil wir auch nach Monaten keine Ursache finden konnten, habe ich mir den Raspi als Ersatz gedacht und habe angefangen zu forschen, was für unseren Zweck das Richtige sein könnte. Nach tagelanger Suche im Internet war eines klar: Es gab keine für uns maßgeschneiderte Lösung. Ich musste aus mehreren Bauprojekten eines machen.

Für mich ist Streaming eine komplizierte Sache. Da gibt es die verschiedensten Protokolle und Pakete, die über TCP und UDP laufen können. Dann gibt es in dem Zusammenhang End-to-End-Verbindungen, wo der Hörer ständig mit dem Sender Quittungen austauscht, wie auch Unicast und Multicast, wobei dort die Daten einfach nur in die Weiten des Internet gepumpt werden, wenn ich es richtig verstanden habe. Manche der Verfahren konnten von ganz vielen Playern wiedergegeben werden und manche nur von wenigen, wie z. B. dem VLC. Es gab also sehr viel zu bedenken, wenn man dem Benutzer nicht zu viel Veränderungen zumuten wollte!

Wir nutzten eine TCP-End-to-End-Verbindung mit MMS-Stream, hinter dem sich das Microsoft-WMA verbirgt, womit dann auch sehr viele Player klarkommen, obwohl es schon recht alt ist. Als Übertragungsrate haben wir auf Grund der geringen Qualitätsanforderungen und der maximalen “Sende-Bandbreite” (Upload) nur 64kBit in Mono. Es war also etwas gefragt, was Ähnliches bietet!

Zusätzlich zu den bisher genannten technischen Themen kommt nun noch ein Berg von möglicher Streaming-Software! Ich habe mich näher mit Icecast, FFMPEG und VLC beschäftigt. Ein anderer Freak hatte Ähnliches getestet und war bei FFMPEG hängengeblieben. Das hatte ich leider nicht wirklich gut zum Laufen bekommen. VLC wäre schön gewesen, weil ich damit sogar MMS hätte machen können, aber mir ist nur RTP gelungen, was zwar “moderner” und vermutlich sinnvoller ist, aber nur relativ wenige Player hat. Schließlich müssen wir auch an Smartphone, iPhone, GoDi-Player (Raspi-Basis mit VLC-Player) und Windows-PCs denken.