chiark / gitweb /
update README.streams to be bidirectional. (don't cross the streams\!)
[disorder] / README.streams
CommitLineData
1fe9ef21 1DisOrder and Republishing Internet Streams
2==========================================
460b9539 3
4DisOrder doesn't have any built-in support for playing streams but you can make
5it do so. I use the following in my configuration file:
6
7 player /export/radio/*.oggradio shell 'xargs ogg123 -q < "$TRACK"'
8 collection fs iso-8859-1 /export/radio
9
10After setting this up you'll need to re-read the config file and provoke a
11rescan:
12
13 disorder reconfigure rescan /export/radio
14
15/export/radio contains a file for each stream, containing the URL to use:
16
17 lyonesse$ cat /export/radio/CUR1350.oggradio
18 http://cur.chu.cam.ac.uk:8000/cur.ogg
19
20You'll probably want to prevent random play of streams:
21
22 disorder set /export/radio/CUR1350.oggradio pick_at_random 0
23
24You can then queue a stream like any other track. It won't automatically
25interrupt the playing track, you have to scratch it manually. Go back to
26normal play by scratching the stream.
27
1fe9ef21 28
29Creating A Stream Of DisOrder Output
30====================================
31
32This can be achieved using the speaker_command option and Icecast (see
33http://www.icecast.org/). It will only work if you use the speaker process,
34i.e. execraw for everything.
35
36I used:
37
38 speaker_command "ices2 /etc/disorder/ices.xml"
39
40where ices.xml is:
41
42 <?xml version="1.0"?>
43 <ices>
44 <background>0</background>
45 <logpath>/var/log/ices</logpath>
46 <logfile>disorder.log</logfile>
47 <loglevel>4</loglevel>
48 <consolelog>0</consolelog>
49 <stream>
50 <metadata>
51 <name>lyonesse</name>
52 <genre>Various</genre>
53 <description>lyonesse disorder output</description>
54 </metadata>
55 <input>
56 <module>stdinpcm</module>
57 <param name="rate">44100</param>
58 <param name="channels">2</param>
59 <param name="metadata">1</param>
60 <param name="metadatafilename">/var/disorder/icedata</param>
61 </input>
62 <instance>
63 <hostname>lyonesse.anjou.terraraq.org.uk</hostname>
64 <port>8000</port>
65 <password>SOURCE PASSWORD HERE</password>
66 <mount>/disorder.ogg</mount>
67 <reconnectdelay>2</reconnectdelay>
68 <reconnectattempts>5</reconnectattempts>
69 <maxqueuelength>80</maxqueuelength>
70 <encode>
71 <nominal-bitrate>64000</nominal-bitrate>
72 <samplerate>44100</samplerate>
73 <channels>2</channels>
74 <flush-samples>8820</flush-samples>
75 </encode>
76 </instance>
77
78 </stream>
79 </ices>
80
81This doesn't seem to get on very well with pausing but you're unlikely to want
82to pause a stream in any case. I used IceCast 2.3.1 and Ices 2.0.1. You can
83play the stream with XMMS or whatever. The total setup seems to play rather
84behind the 'current' time, watch this space for a fix (or contribute one!)
85
86Other DisOrder options you can set are sox_generation which you should set to
87if you have a sufficently recent version of sox, due to an incompatile change
88in its command syntax; and sample_format which determines what format is
89supplied to the speaker_command. See disorder_config(5) for further
90information.
91
92
460b9539 93Local Variables:
94mode:text
95fill-column:79
96End: