Jump to content

Stream under Debian

From Rivendell Wiki

At first, this will cover streaming ogg vorbis streams using darkice and peercast.

So, Rivendell will play to jack. Jack sits on alsa. Hook up the Rivendell outputs to the jack inputs. Jack encodes the stream and sends to peercast. People run peercast and tune in to your stream. Or, if you have the bandwidth, people can pull the stream direct from your peercast server like it was a shoutcast/icecast or icecast2 server.

Contents

  • [#Install_Under_Debian 1 Install Under Debian]
  • [#Install_a_stream_source 2 Install a stream source]

[#DarkIce 2.1 DarkIce]

[#Configure 2.1.1 Configure]

  • [#Ices2 2.2 Ices2]

[#Configure_2 2.2.1 Configure]

  • [#Install_a_broadcast_server 3 Install a broadcast server]

[#PeerCast 3.1 PeerCast]

[#Configure_3 3.1.1 Configure]

  • [#FreeCast 3.2 FreeCast]
  • [#IceCast 3.3 IceCast]
  • [#Icecast2.2FShoutcast_Meta_Data_from_Rivendell 3.4 Icecast2/Shoutcast Meta Data from Rivendell]
  • [#Other_Useful_Wiki_pages 4 Other Useful Wiki pages]

Install Under Debian

Follow the instructions for installing under Debian.

Install a stream source

You can select one of these stream sources. The stream source will take the sound stream from the jack server, encode and send it to the broadcast server.

DarkIce

NOTE: Many people have not been able to get DarkIce to work properly. I seems like it sets up correctly. You can see it in jack and patch to it. Never generates any errors but in the end never works. See [/index.php/Streaming_from_Rivendell#Install_a_stream_source this wiki page on streaming] for information on edcast-jack that does work.

Install DarkIce. You will need at least darkice 0.15 for jack support.

Configure

This is a config that I had working for darkice with jack: (darkice-public.cfg)

  1. sample DarkIce configuration file, edit for your needs before using
  2. see the darkice.cfg man page for details
  1. this section describes general aspects of the live streaming session

[general] duration = 60 # duration of encoding, in seconds. 0 means forever bufferSecs = 0 # size of internal slip buffer, in seconds

  1. this section describes the audio input that will be streamed

[input] device = jack # OSS DSP soundcard device for the audio input sampleRate = 48000 # sample rate in Hz. try 11025, 22050 or 44100 bitsPerSample = 16 # bits per sample. try 16 channel = 2 # channels. 1 = mono, 2 = stereo

  1. this section describes a streaming connection to an IceCast server
  2. there may be up to 8 of these sections, named [icecast-0] ... [icecast-7]
  3. these can be mixed with [icecast2-x] and [shoutcast-x] sections
  4. [icecast-0]
  5. bitrateMode = cbr # constant bit rate
  6. bitrate = 96 # bitrate of the mp3 stream sent to the server
  7. quality = 0.8 # encoding quality
  8. server = yp.yourserver.com
                           # host name of the server
  1. port = 8000 # port of the IceCast server, usually 8000
  2. password = hackme # source password to the IceCast server
  3. mountPoint = sample96 # mount point of this stream on the IceCast server
  4. name = DarkIce trial
                           # name of the stream
  1. description = This is only a trial
                           # description of the stream
  1. url = http://www.yourserver.com
                           # URL related to the stream
  1. genre = my own # genre of the stream
  2. public = yes # advertise this stream?
  1. this section describes a streaming connection to an IceCast2 server
  2. there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]
  3. these can be mixed with [icecast-x] and [shoutcast-x] sections

[icecast2-0] bitrateMode = abr # average bit rate format = vorbis # format of the stream: ogg vorbis bitrate = 32 # bitrate of the stream sent to the server server = localhost

                           # host name of the server

port = 7144 # port of the IceCast2 server, usually 8000 password = pass # source password to the IceCast2 server mountPoint = /myradio1.ogg # mount point of this stream on the IceCast2 server name = myRadio Radio

                           # name of the stream

description = Mostly CC BY and BY-SA music

                           # description of the stream

url = http://yp.peercast.org/?find=myRadio&Submit=Search

                           # URL related to the stream

genre = myRadio music # genre of the stream public = yes # advertise this stream?

  1. this section describes a streaming connection to a ShoutCast server
  2. there may be up to 8 of these sections, named [shoutcast-0] ... [shoutcast-7]
  3. these can be mixed with [icecast-x] and [icecast2-x] sections
  4. [shoutcast-0]
  5. bitrateMode = vbr # variable bit rate mode
  6. quality = 0.5 # encoding quality
  7. server = yp.yourserver.com
                           # host name of the server
  1. port = 8001 # source port of the ShoutCast server, usually 8001
  2. password = hackme # source password to the ShoutCast server
  3. name = DarkIce trial
                           # name of the stream
  1. url = http://www.yourserver.com
                           # URL related to the stream
  1. genre = my own # genre of the stream
  2. public = yes # advertise this stream?
  3. irc = irc.yourserver.com
                           # IRC info related to the stream
  1. aim = aim here # AIM info related to the stream
  2. icq = I see you too
                           # ICQ info related to the stream

Ices2

Install Ices2. You will need to use the ices-kh release which provides the jack support.

Note: ices-kh is very hard to find anywhere, if you can find it. See [/index.php/Streaming_from_Rivendell#Install_a_stream_source this wiki page on streaming] for information on edcast-jack that is available on the oddsock.org website.

Configure

Here is a config that I had working: (ices-jack-public.xml)

   1  
   1      
   root           
   /var/log/ices     
   2048     
   ices.log
   4      
   0  
   /var/ices/ices.pid 


       myRadio Radio
       myRadio music (mostly)
       Mostly CC BY and BY-SA music




jack 2 ices rivendell_0:playout_0L,rivendell_0:playout_0R,rivendell_0:playout_1L,rivendell_0:playout_1R /root/icesmeta











                   localhost
                   7144
                   mypassword
                   /bysa1.ogg
               



                   22040
               


               1
               
                 
                   0.7
                   
                   
               
           





                   localhost
                   8000
                   mypassword
                   /bysa2.ogg
               



                   22040
               


               1
               
                 
                   0.7
                   
                   
               
           



Install a broadcast server

You can select one of these broadcast servers. It will receive the encoded stream from the source stream and provide it to the public listeners.

You can choose classic broadcast servers (like Icecast2) or peer-to-peer broadcast solutions (like PeerCast or FreeCast).

PeerCast

Install PeerCast. Current version (as of May 18/2005) is PeerCast v0.1211

I suggest you copy the html directory from the peercast archive to /home/peercast.
  • I suggest you copy the peercast executable from the peercast archive to /usr/bin.
  • See below for configuration instructions/suggestions.

Configure

FreeCast

Install the FreeCast debian package available on the Tryphon Debian Archiver.

IceCast

Install the IceCast streaming server using the instructions and source code found at IceCast.

Icecast2/Shoutcast Meta Data from Rivendell

  • RD Stream was written by J Hoff. (shoutcast version).
  • Modified for Debian & icecast2 by drew Roberts.
  • Also adapted from icecast2 as follows
  • Written by Miquel van Smoorenburg.
  • Modified for Debian by Ian Murdock.
  • Further modified by Keegan Quinn for use with Icecast 2

The package rdstream-dR.tgz can be downloaded in two places for the Rivendell email list archive.

Download site 1

Download site 2

However please note the following about downloading.

At the bottom of the post you will see:

Attachment: rdstream-dR.tgz Description: application/tgz

and if you click on it it will download a file

binRgmAnEv4LJ.bin or binWcibLHuH4n.bin (depending on the link you choose above)

download this and rename it to:

rdstream-dR.tgz

and you should be good to go with the package as intended.

Other Useful Wiki pages

For other options on getting meta data (now & next playing) out of Rivendell to Icecast and Shoutcast and other systems see the wiki page [/index.php/Streaming_from_Rivendell#Icecast2.2FShoutcast_Meta_Data_from_Rivendell Streaming from Rivendell] and also [/index.php/Rivendell_Loadable_Module_(RLM)_SDK_-_For_Sending_Now_%26_Next_Data_to_external_systems Rivendell Loadable Modules SDK]

Retrieved from "http://wiki.rivendellaudio.org/index.php?title=Stream_under_Debian&oldid=212"