Channel Selection

Revision as of 20:13, 1 September 2010 by AndrewT (talk | contribs) (→‎With USB)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page describes how to install channel selection with the Streaming Client.

A channel is not a URL!

First of all it is important to mention that the channel selection is not the same as the three different URLs.

The three different URLs work purely as a backup, whereas channels can be used independently in each URL.

So what is the channel selection?

Probably everyone had an experience with a TV or a satellite receiver. There you have a plenty of television programs, a remote control in your hand and you can wildly switch between them (to realise that once again there's nothing on ;-) )

You can do exactly that with your Exstreamer, having up to 1000 music channels. For that you will need the Streaming Client firmware.

That sounds good, but how do I set it up?

Now you are maybe asking: "OK, there are only three URLs, so how do I store thousand channels?" A good question!

The Exstreamer itself does not have a capacity to store 1000 music channels - for the storage you will need either a USB drive or an HTTP server.

How the channels work

The Streaming Client has a memory to store a three digit number. We will call this a channel number. The channel number is selected via the remote control (digits 0 to 9) and confirmed with the PLAY button. If you type "3" the channel number will be "003". If you type "12" the channel number will be "012". If you type "12345" the channel number will be "345".

You can type as many digits as you want, the Streaming Client will remember only the last three ones. You must always press PLAY to confirm the selection.

NOTE: The channel number is remembered over a device reset.

What is the channel number good for?

Where you want to use multiple channels, you need to use the $NUM$ variable in the URL. The string $NUM$ is dynamically replaced with the last selected number (the one you sent from the remote control by pressing PLAY). The Streaming Client then sends this request to the server - which is exactly what you need.

Let's make an example. Your URL is set to e.g.:

http://my.server.com/my_music/playlist$NUM$.m3u

You type in "57". The Streaming Client will fetch

http://my.server.com/my_music/playlist057.m3u

and play it.

On your server in the directory /my_music you need to create playlists called:

playlist000.m3u
playlist001.m3u
playlist002.m3u
...
playlist999.m3u

The playlists can then contain music files or a URL of an internet radio.

Of course, you don't have to create all thousand playlists! But only those you want to support.So if you want to have only channels 15 to 21 you create:

playlist015.m3u
playlist016.m3u
playlist017.m3u
playlist018.m3u
playlist019.m3u
playlist020.m3u
playlist021.m3u

The playlists can have any music content. E.g.:

What if I select a non-existing channel

If the playlist with the channel number you selected does not exist on the server, the Streaming Client will report an error and stay in "Stopped" state. If there is a backup URL configured it will switch to the backup (this is what URL2 and URL3 are for).

More examples on channel selection

With a NAS

Do you have your MP3 music stored on a Network Attached Storage? Then there is nothing easier than converting your Exstreamer to a jukebox. On the NAS create a playlist per album and use the channel selection.

IMPORTANT: Your NAS must support HTTP access to its stored files.

With USB

For channel selection you don't need an HTTP server or network at all. All playlists and music can be also stored on the local USB drive. However, please note that you will be then limited to 4GB of space in total.

Your configuration could look like:

file://music/channel$NUM$.m3u

You can also combine a local storage and the network. E.g. local playlists on the USB containing addresses of different internet radios.

With RTP

You don't necessarily need playlists if you want to use channel selection with the Streaming Client. If you broadcast several RTP streams on your network, let's say on ports 10001, 10002, 10003, etc. you can configure your Streaming Client to:

rtp://0.0.0.0:10$NUM$/

And it the channel selection will switch between the RTP streams on those different ports.

Dynamic channels

Are possible with a bit of PHP programming. More later...

Changing the channel number remotely

To change the current channel on a remote device, e.g. an Exstreamer 200 in Reception access the device by typing http://<address>/keyboard.html in a WEB browser, e.g.:

http://192.168.2.75/keyboard.html

This will show a representation of the remote control. Click on the numbers with your mouse and then click PLAY.

NOTE: The device must be accessible over the network and must not be behind a firewall or a NAT.

Automated channel changing using CGI

To automate the remote channel selection (e.g. from a script) send the following CGI commands to rc.cgi on the device:

  • r=<digit number> to type a digit
  • c=1 to issue the PLAY command

E.g. to select channel 31:

http://<address>/rc.cgi?r=0&r=3&r=1&c=1

NOTE: The device must be accessible over the network and must not be behind a firewall or a NAT.