How does the automatic live/autoDJ switching feature for IceCast work?


How does the automatic live/autoDJ switching feature for IceCast work?


The automatic live/autoDJ switching feature makes use of IceCast's "fallback mount" support to allow your live DJs to automatically "take over" the stream when they connect in with their live source software. There is no need to stop the autoDJ -- it will continue playing (unheard) in the background while the live broadcast is in progress.

Technically speaking, it works as follows:

  1. Centova Cast creates three mount points on the server: /autodj -- This is where the autoDJ connects /live -- This is where your live source is supposed to connect /stream -- This is configured to automatically duplicate /live if a live source is connected, and if not, it falls back to /autodj.

    It's a lot like having two physical MP3 players (represented by /live and /autodj) and one pair of headphones (represented by /stream). Whenever the live source is connected, the "headphones" are plugged into /live -- the /autodj player still continues to play, but since it has no "headphones", nobody can hear it. When the live source disconnects, the "headphones" are unplugged from /live and plugged back in to /autodj.

  2. When the server is started, the autoDJ begins broadcasting to /autodj, so anyone who connects to /stream hears the autoDJ.

  3. When your live source connects to /live, the /stream mount point immediately "plugs in" to /live, so anyone who connects to /stream hears the live broadcast.

  4. When your live source disconnects from /live, the /stream mount point immediately falls back to /autodj (which has continued playing throughout your live broadcast even though nobody could hear it).

This allows seamless transitioning between live broadcasts and the autoDJ, with absolutely no silence in between.

A common question is whether or not a jingle or somesuch can be played upon transitioning from live to autoDJ or vice-versa. Unfortunately IceCast provides no facilities to detect the transition between mount points, so this is not possible.

I don't want to use IceCast. Can I do this under SHOUTcast DNAS?

It depends which SHOUTcast DNAS version you're using. See the sections below.

SHOUTcast DNAS v2 with sc_trans v2

Yes, this is natively supported by DNAS2/sctrans2. Your live DJs actually connect directly to sc_trans v2 (instead of to the SHOUTcast DNAS v2 server) and when sc_trans v2 detects a live source connection, it stops performing its autoDJ duties and just passes the live source through to the SHOUTcast DNAS v2 server.

This is all seamless for the DJ and listeners if you use the instructions on the Quick Links page for connecting with a live source.


It is impossible to do this in a "seamless" manner due to limitations in SHOUTcast DNAS v1; DNAS v1 does not provide any feature to notify the autoDJ when a live source connects/disconnects and/or switch from one source to another automatically, so there is no way to immediately switch to or from a live broadcast automatically. Centova Cast can, however, be configured to detect sourceless streams and automatically reactivate the autoDJ after a few minutes after a live source disconnects.

If you simply wish to avoid giving out your Centova Cast password to your live DJs, however, use our autoDJ stop/start script (with Centova Cast v2) or create separate accounts for each DJ (with Centova Cast v3).