Krad Radio/Comments by sitedyno

From MozillaWiki
Jump to: navigation, search

Taken from the old github-wiki (was: https://github.com/krad-radio/krad_radio/wiki/Comments-by-sitedyno) and moved here by kripton

The state of internet radio as I see it

Available Tools

There are many tools available that you can piece together to broadcast on the internet. The problem is getting them to all work together. This sets the technical bar pretty high for anyone that wants to broadcast.

Yes there are some commercial products available, but they all tend to have limitations. Some don't even support UTF8 while most others give you no ready way to expose your library's metadata to the internet/listeners.

The Typical Station

A typical station setup involves a server to broadcast 24/7. Music must be uploaded to it, playlists generated, etc... Then you need some way to allow DJs to connect and broadcast their shows. There is no tool that glues all the tools together in a meaningful way.

  • On The server side... This usually involves some program to play music (xmms2/mpd). Another program (source client) to capture that output and encode it to a popular encoding (typically mp3 or aac...) and and send the data to a stream server (icecast/shoutcast). If you want to support multiple encoders you'll need another tool (probably liquidsoap) to read the source stream and generate however many extra streams you want. Want to expose your library on a website? You'll need another tool to parse the library data and put it in a database. Want to let listeners request a song? You'll need another tool.
  • On the DJ side... There are several programs that will stream to icecast/shoutcast, but only one that I'm aware of that's designed to integrate with a website (and it does a poor job of it). The DJ's library will be separate from the server's library. If DJ's want to have listeners request, they will have to use a separate chat program. Web site generated requests are possible, but this requires the DJ to forward ports and use a program that is capable of accepting such requests.
  • Other thoughts... There is only 1 FOSS solution that I'm aware of that's designed to mix microphone input into the stream (idjc). It does work fairly well, but does not push metadata to a website, and does not support requests or automation.
  • This makes for a sensitive and easily broken system. The system is also full of latency due to multiple programs using buffers. The barrier for entry is high, especially for amateurs.

The Ideal Setup

  • A set of tools designed to work together... Having tools that are designed to work together will simplify setup of the server. This will lower the bar of entry for amateurs, decrease latency in the system (fewer buffers), and increase stability.
  • Increase FOSS adoption... A unified & well supported broadcast toolset that promotes open codecs will push adoption of those codecs. As the broadcast community adopts the server implementation, they will put pressure on music player authors to adopt the new and open codecs into their software (I hear many mobile devices have poor support for open codecs?). Additionally the project might consider writing plugins (where applicable) for existing music players (foobar2000, winamp, etc).
  • DJ from anywhere... A complete server side solution will simplify the process for DJs. A broadcast server that exposes its UI through websockets and audio through low latency connections will allow the DJ to broadcast from anywhere. The low latency and responsive UI should make beat matching, cross-fading, and voice overs work almost as well (if not just as well) as local solutions. It would be possible for the station to have one and only one music library. DJs would be able to upload music to the server as well.

Final Thoughts

Oneman has laid the foundation for a truly revolutionary broadcast system by promoting open codecs, empowering web browsers by pushing the user interface to them, and providing true flexibility to meet many scenarios. If such a system isn't fully realized, internet broadcasting will forever be limited to large & closed companies.