chiark / gitweb /
shiner about... box
[disorder] / README.streams
index 82226d6b6f15cd1874897b1e3624f07775e2c9d2..1356b78e47b045514c3eda80587cff49d31e86ee 100644 (file)
@@ -1,33 +1,34 @@
-DisOrder and Republishing Internet Streams
-==========================================
+RTP Streaming
+=============
 
-DisOrder doesn't have any built-in support for playing streams but you can make
-it do so.  I use the following in my configuration file:
+DisOrder is now capable to transmitting RTP streams over a suitable network.
+To enable this make sure that allplayers use the speaker process, i.e. execraw
+rather than exec (or it won't work properly) and configure the network speaker
+backend:
 
- player /export/radio/*.oggradio shell 'xargs ogg123 -q < "$TRACK"'
- collection fs iso-8859-1 /export/radio
+    speaker_backend network
+    broadcast 172.17.207.255 9003
+    broadcast_from 172.17.207.2 9002
 
-After setting this up you'll need to re-read the config file and provoke a
-rescan:
+The destination address doesn't have to be a broadcast address.
+broadcast_from is optional but may be convenient for some cases.
 
-  disorder reconfigure rescan /export/radio
+To play, use the disorder-playrtp client.
 
-/export/radio contains a file for each stream, containing the URL to use:
+   disorder-playrtp 0.0.0.0 9003
 
- lyonesse$ cat /export/radio/CUR1350.oggradio
- http://cur.chu.cam.ac.uk:8000/cur.ogg
+Currently only 16-bit 44100Hz stereo is supported, which requires about
+1.4Mbit/s.  Possibly other lower-quality but lower-bandwidth encodings will be
+supported in future.
 
-You'll probably want to prevent random play of streams:
-
- disorder set /export/radio/CUR1350.oggradio pick_at_random 0
+If you have a too-recent version of sox you may need to set the sox_generation
+option.
 
-You can then queue a stream like any other track.  It won't automatically
-interrupt the playing track, you have to scratch it manually.  Go back to
-normal play by scratching the stream.
+There is now (not well tested) multicast support.
 
 
-Creating A Stream Of DisOrder Output
-====================================
+Icecast Streaming
+=================
 
 This can be achieved using the speaker_command option and Icecast (see
 http://www.icecast.org/).  It will only work if you use the speaker process,
@@ -83,11 +84,36 @@ to pause a stream in any case.  I used IceCast 2.3.1 and Ices 2.0.1.  You can
 play the stream with XMMS or whatever.  The total setup seems to play rather
 behind the 'current' time, watch this space for a fix (or contribute one!)
 
-Other DisOrder options you can set are sox_generation which you should set to
-if you have a sufficently recent version of sox, due to an incompatile change
-in its command syntax; and sample_format which determines what format is
-supplied to the speaker_command.  See disorder_config(5) for further
-information.
+If you have a too-recent version of sox you may need to set the sox_generation
+option.
+
+
+DisOrder and Republishing Internet Streams
+==========================================
+
+DisOrder doesn't have any built-in support for playing streams but you can make
+it do so.  I use the following in my configuration file:
+
+ player /export/radio/*.oggradio shell 'xargs ogg123 -q < "$TRACK"'
+ collection fs iso-8859-1 /export/radio
+
+After setting this up you'll need to re-read the config file and provoke a
+rescan:
+
+  disorder reconfigure rescan /export/radio
+
+/export/radio contains a file for each stream, containing the URL to use:
+
+ lyonesse$ cat /export/radio/CUR1350.oggradio
+ http://cur.chu.cam.ac.uk:8000/cur.ogg
+
+You'll probably want to prevent random play of streams:
+
+ disorder set /export/radio/CUR1350.oggradio pick_at_random 0
+
+You can then queue a stream like any other track.  It won't automatically
+interrupt the playing track, you have to scratch it manually.  Go back to
+normal play by scratching the stream.
 
 
 Local Variables: