Channels

Psipher Diaz edited this page Nov 8, 2015 · 9 revisions

Channels

Channels are running server-side and never stop if random or loop parameters are enabled. Based on existing Ampache playlists and Icecast compatible, it's a good way to play the same non-stop music to several third party applications / clients, without any additional server software requirement.

Limitations

MP3 or OGG streams only.

Also, PHP is not very well suited for broadcasting. If you attempt to serve hundreds of listeners we would recommend to use a real Icecast server. See Ampache on Icecast.

Ampache Configuration

To create a unique stream, transcoding must be setup and the target format must be configured as 'allowed' in the cfg file.

Then edit config/ampache.cfg.php according to these settings:

channel = true

Create a channel

  • First, create a new playlist with the music you want on it.
  • Then on the playlist details, choose to Create channel and configure according to the parameter list bellow:
    • Name: The channel name that wil be displayed on Ampache and third-party applications
    • Description: the channel description
    • URL: public stream url access. You should keep the default value if Apache htaccess is setup correctly during the installation process.
    • Interface: the channel will listen on a network interface. It is recommended to listen to the local interface / loopback and to use the public stream url for external access.
    • Port: the channel listening port. Because each channel is running independently, a different port is required for each one. The port should be automatically incremented.
    • Authentication Required: require authentication to access the channels public url
    • Random: play songs in random order
    • Loop: when the associated playlist reaches the end, start it again from the beginning
    • Max Listeners: maximum allowed listeners on the same time
    • Stream type: the stream format (= transcode output)
    • Bitrate: the stream bitrate

Start a channel

Channels can be started and stopped from the web interface, on the Channels page. This could require additional web server permissions to run shell applications from php.

You can also start the channel from your terminal using php bin/channel_run.inc -c 1 > /dev/null & where 1 is the channel identifier to start.