Changes between Version 14 and Version 15 of rpld/StreamingToIcecast


Ignore:
Timestamp:
08/17/12 21:15:22 (12 years ago)
Author:
ph3-der-loewe
Comment:

Updated, added infos for SavannahIce?

Legend:

Unmodified
Added
Removed
Modified
  • rpld/StreamingToIcecast

    v14 v15  
    11[[TOC]] 
    22 
    3 = Streaming to Icecast with roard and !RoarAudio !PlayList Daemon (rpld) = 
    4 This tutorial is to tell you how to setup roard and !RoarAudio !PlayList Daemon to stream to a Icecast server. This does not cover installing Icecast itself nor using a different RoarAudio server than roard. 
     3= Streaming to Icecast with roard or !SavannahIce and !RoarAudio !PlayList Daemon (rpld) = 
     4This tutorial is to tell you how to setup roard or SavannahIce and !RoarAudio !PlayList Daemon to stream to a Icecast server. This does not cover installing Icecast itself nor using a different RoarAudio server than roard and SavannahIce. 
    55 
    66== Introduction and Concept == 
     
    1616However because clients never be in contact with the sound server this may sometimes look a bit like rpld be a full audio player. 
    1717 
    18 As rpld does not handle audio itself setup for streaming is done on roard's end. It is configured to have a so called 'output' to icecast and encoding as Ogg Vorbis. 
     18As rpld does not handle audio itself setup for streaming is done on roard's/SavannahIce end. 
     19 
     20== roard or !SavannahIce? == 
     21This is the big question we have at the beginning: 
     22 
     23There are two different usecases for roard and SavannahIce: 
     24While roard decodes everything, processes the audio and re-encodes the stream SavannahIce just passes as it is. 
     25 
     26Here is a small table to help you find out what the best setup is for you: 
     27||=Feature                     =||= roard =||= SavannahIce =|| 
     28||=Playlist input              =|| Yes     || Yes           || 
     29||=Codec converting support    =|| Yes     || Yes¹          || 
     30||=Resampling support          =|| Yes     || Yes¹          || 
     31||=Need reencoding             =|| Yes     || No            || 
     32||=Full metadata support       =|| Yes     || Yes           || 
     33||=Multiple output streams     =|| Yes¹    || Yes¹          || 
     34||=Multiple independed streams =|| Yes¹    || Yes¹          || 
     35¹ This is possible bout out of scope of this document. 
    1936 
    2037== Installation == 
    2138Before we can start you need to install the following software: 
    22 * roard from RoarAudio Package 
    23 * rpld 
     39* roard from RoarAudio Package is using roard 
     40* savannahice is using SavannahIce. 
     41* rpld (at least version 0.1.4²) 
    2442* rpld-tools (if not in rpld package) 
    2543* vclt-tools 
     44² For older version please see an older version of this document. 
    2645 
    2746You should also consider to install a nice client for rpld with GUI or something. 
     
    3049 
    3150=== Installing on Debian === 
    32 Just type as root: 
     51Debian provides all of the needed packages but SavannahIce. Also note that of the writing of this document Debian does not have rpld 0.1.4. See ² above. 
     52Just type as root for a roard based install: 
    3353{{{ 
    3454 # apt-get install roaraudio roarplaylistd roarplaylistd-tools vclt-tools 
    3555}}} 
     56 
     57Type as root for a SavannahIce based install: 
     58{{{ 
     59 # apt-get install roarplaylistd roarplaylistd-tools vclt-tools libroar-dev 
     60}}} 
     61Now install SavannahIce from source. 
    3662 
    3763=== Installing from source === 
     
    4470* libvorbis 
    4571* libshout 
    46 * libuuid (from e2fsprogs) 
    4772* vorbis-tools 
    4873 
     
    5479 $ tar -xvzf package.tar.gz 
    5580 $ cd package 
    56  $ ./configure 
     81 $ ./configure³ 
    5782 $ make 
    5883 # make install 
    5984}}} 
     85³ Some packages does not provide this script. If there is non in the package you can safely skip this step. 
    6086 
    6187== Setting up roard == 
     
    87113 $ roard -o shout -O http://source:hackme@streaming-server.example.org:8000/mountpoint.ogg -oO sync,codec=ogg_vorbis 
    88114}}} 
     115 
     116== Setting up !SavannahIce == 
     117SavannahIce does not need any manual setup. 
    89118 
    90119== Setting up rpld == 
     
    96125* Have fun. 
    97126 
    98 === Setting up store on Debian === 
    99 You choose the right system. On Debian the store is set up by the roarplaylistd package at install. 
    100  
    101 === Setting up store manually and how to start rpld === 
    102 To set up the store we need to create a directory accessible by the user running rpld. 
    103 Normally this directory is `/var/lib/roarplaylistd/` but you can use a directory within your home directory as well. 
    104  
    105 First create it. If using `/var/lib/roarplaylistd/` we may need to do this as root, if it's located under your home directory just create it with mkdir(1) or how you prefer to create your directorys. 
    106 If needing to do under root we may also need to set owner back to the user running rpld like this: 
    107 {{{ 
    108  # mkdir /var/lib/roarplaylistd 
     127=== Setting up store on Debian for usage with roard === 
     128On Debian the store is set up by the roarplaylistd package at install. 
     129 
     130=== Setting up store manually for usage with roard === 
     131All you need to do is to run the following command as root: 
     132{{{ 
     133 # rpld-storemgr create 
     134}}} 
     135 
     136=== Setting up store on Debian for usage with !SavannahIce === 
     137See next section. 
     138 
     139=== Setting up store manually for usage with !SavannahIce === 
     140All you need to do is to run the following command as root: 
     141{{{ 
     142 # rpld-storemgr create SavannahIce http://source:hackme@streaming-server.example.org:8000/mountpoint.ogg 
     143}}} 
     144The URL is the same as for roard above. 
     145 
     146=== Change owner of store === 
     147If you set up your store manually you need to change the owner of the store to your. 
     148To do this run as root: 
     149{{{ 
    109150 # chown YOUR_USER:YOUR_GROUP /var/lib/roarplaylistd 
    110151}}} 
     152 
    111153You can get the values for ''YOUR_USER'' and ''YOUR_GROUP'' using id: 
    112154{{{ 
     
    115157It will list the username under ''uid'' and the group name under ''gid''. 
    116158 
    117 Next you need to initialize it. Do this with the following command: 
    118 {{{ 
    119  $ rpld --no-listen --store-path /var/lib/roarplaylistd --no-restore --store 
    120 }}} 
    121  
     159When using Debian the user is "roarplaylistd" and group is "audio". 
     160 
     161=== Starting up rpld manually === 
    122162To start rpld run it like this: 
    123163{{{ 
     
    144184To create a new playlist use: 
    145185{{{ 
    146  $ rpld-addplaylist 'playlistname' 
     186 $ rpld-ctl addplaylist 'playlistname' 
    147187}}} 
    148188 
     
    156196 M3U:: A common playlist format. 
    157197 PLAIN:: Single filename per line format 
     198 XSPF:: Xiph's xspf format. 
    158199Others may also be supported. 
    159200 
     
    188229To start playback just hit the playback button in the GUI or client you use or use the following command: 
    189230{{{ 
    190  $ rpld-play 
     231 $ rpld-ctl play 
    191232}}} 
    192233