chiark / gitweb /
hide unmaintained tkdisorder
[disorder] / README.streams
index 4e6e42510fb8f2e199ea0b8978ccdbf26c929e64..1356b78e47b045514c3eda80587cff49d31e86ee 100644 (file)
@@ -1,5 +1,95 @@
-DisOrder and Internet Streams
-=============================
+RTP Streaming
+=============
+
+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:
+
+    speaker_backend network
+    broadcast 172.17.207.255 9003
+    broadcast_from 172.17.207.2 9002
+
+The destination address doesn't have to be a broadcast address.
+broadcast_from is optional but may be convenient for some cases.
+
+To play, use the disorder-playrtp client.
+
+   disorder-playrtp 0.0.0.0 9003
+
+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.
+
+If you have a too-recent version of sox you may need to set the sox_generation
+option.
+
+There is now (not well tested) multicast support.
+
+
+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,
+i.e. execraw for everything.
+
+I used:
+
+  speaker_command "ices2 /etc/disorder/ices.xml"
+
+where ices.xml is:
+
+  <?xml version="1.0"?>
+  <ices>
+      <background>0</background>
+      <logpath>/var/log/ices</logpath>
+      <logfile>disorder.log</logfile>
+      <loglevel>4</loglevel>
+      <consolelog>0</consolelog>
+      <stream>
+         <metadata>
+             <name>lyonesse</name>
+             <genre>Various</genre>
+             <description>lyonesse disorder output</description>
+         </metadata>
+         <input>
+             <module>stdinpcm</module>
+             <param name="rate">44100</param>
+             <param name="channels">2</param>
+             <param name="metadata">1</param>
+             <param name="metadatafilename">/var/disorder/icedata</param>
+         </input>
+         <instance>
+             <hostname>lyonesse.anjou.terraraq.org.uk</hostname>
+             <port>8000</port>
+             <password>SOURCE PASSWORD HERE</password>
+             <mount>/disorder.ogg</mount>
+             <reconnectdelay>2</reconnectdelay>
+             <reconnectattempts>5</reconnectattempts>
+             <maxqueuelength>80</maxqueuelength>
+             <encode>
+                 <nominal-bitrate>64000</nominal-bitrate>
+                 <samplerate>44100</samplerate>
+                 <channels>2</channels>
+                 <flush-samples>8820</flush-samples>
+             </encode>
+         </instance>
+
+         </stream>
+  </ices>
+
+This doesn't seem to get on very well with pausing but you're unlikely to want
+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!)
+
+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:
 
 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:
@@ -25,8 +115,8 @@ 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.
 
 interrupt the playing track, you have to scratch it manually.  Go back to
 normal play by scratching the stream.
 
+
 Local Variables:
 mode:text
 fill-column:79
 End:
 Local Variables:
 mode:text
 fill-column:79
 End:
-arch-tag:ae95108d51c55288c4f6da4102343cd5