Tim Jansen's Blog (deutsch)


2003/04/22
Internet Radio

Auf #kde-devel kam heute wieder das Thema Internet Radio für JuK auf. Ich habe mich ein wenig umgehört und offenbar hat GStreamer nur über das gnomevfssrc Plugin Support für ShoutCast, und das auch eher eingeschränkt. Daher habe ich angefangen mir die HTTP/Shoutcast-Implementierung in XMMS anzusehen um abschätzen zu können, inwieweit sich dieser Code für ein GStreamer-Plugin benutzen lässt. Problem bei der Implementierung ist allerdings, dass diese Multithreading benutzt.

Die Frage, die ich mir dabei stelle, ist, warum überhaupt ShoutCast so weit verbreitet ist. Es ist ein relativ hässlich, die UDP-Variante (UDP wird benutzt für Meta-Daten) kommt in der XMMS-Implementierung durch keine Firewall/NAT und vor allem dürfte das Protokoll bei ausgelastetem Netz oder Server eine Menge Ärger bereiten. Für Shoutcast dagegen spricht, dass es sehr einfach zu implementieren ist.
Die offensichtliche Alternative ist RTP, ggf mit RTSP. Real und Quicktime benutzen es standardmässig, der Windows Media Player kann zumindest damit umgehen und benutzt ansonsten ein vergleichbares Protokoll. Dennoch wird RTP in der freien Software Welt weitgehend ignoriert. Zum Teil wird es daran liegen, dass RTP oft mit weniger freien Codecs benutzt wird und daher wenig Angebote mit einer RTSP/RTP Implementierung nutzbar sind. Dennoch könnten Icecast und Freenode Radio auch davon profitieren. Angenommen freie und zuverlässige Implementierungen wären verfügbar, würde es sich lohnen, auf die wesentlich komplexere Protokollfamilie um RTSP umzusteigen? Oder macht die durch die einfache Implementierung von ShoutCast mögliche Vielzahl an Clients die Nachteile wieder wett?



This page is powered by Blogger. Isn't yours? Creative Commons License
All text in this blog is licensed under a Creative Commons License.
(Images containing screenshots etc are excluded)