X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/803f6e5279ec2531f5073d351009f1e105420d25..66bb2e02f95baed39eac2f3b1b11053d1e2a4c21:/README.streams diff --git a/README.streams b/README.streams index aa4c26b..0a2676c 100644 --- a/README.streams +++ b/README.streams @@ -1,59 +1,75 @@ -DisOrder and Republishing Internet Streams -========================================== +* Introduction -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: +This file describes DisOrder's relationship to various things that get called +'streams'. - player /export/radio/*.oggradio shell 'xargs ogg123 -q < "$TRACK"' - collection fs iso-8859-1 /export/radio +* RTP Streaming -After setting this up you'll need to re-read the config file and provoke a -rescan: +DisOrder is capable to transmitting RTP streams over a suitable network. - disorder reconfigure rescan /export/radio +** Server Setup -/export/radio contains a file for each stream, containing the URL to use: +To enable this make sure that all players use the speaker process, i.e. execraw +rather than exec (or it won't work properly) and configure the network speaker +backend: - lyonesse$ cat /export/radio/CUR1350.oggradio - http://cur.chu.cam.ac.uk:8000/cur.ogg + speaker_backend network + broadcast 172.17.207.255 9003 + broadcast_from 172.17.207.2 9002 -You'll probably want to prevent random play of streams: +The destination address (broadcast) can be: + - a unicast address if you only want to talk to one client + - a broadcast address for a local network + - a multicast address - disorder set /export/radio/CUR1350.oggradio pick_at_random 0 +The source address (broadcast_from) is optional but may be convenient in som +ecases. -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. +If the destination is a multicast address then you should set the TTL, for +instance: + multicast_ttl 10 -RTP Streaming -============= +** Playing The Stream -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: +To play, use the disorder-playrtp client. If the destination address was a +unicast or broadcast address then: - speaker_backend network - broadcast 172.17.207.255 9003 - broadcast_from 172.17.207.2 9002 + disorder-playrtp 0.0.0.0 9003 -broadcast_from is optional but may be convenient for some cases. +If the destination address was a multicast address then you must specify that, +for instance: -To play, use the disorder-playrtp client. + disorder-playrtp 224.2.3.4 9003 - disorder-playrtp 0.0.0.0 9003 +If the client machine has a DisOrder configuration file allowing disorder(1) to +connect to the server then the parameters are unnecessary: disorder-playrtp +will figure out the details automatically. + +** Disobedience + +Disobedience is capable of running disorder-playrtp in the background (provided +it is installed); look for the speaker icon. If it detects that the server is +using network play then its volume control will apply to the local volume, not +the server's volume. + +If you run into trouble look for *.log files in ~/.disorder. + +** Limitations 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. +1.4Mbit/s. At the time of writing I've found this to work fine on 100Mbit/s +ethernet and had reports of success with 10Mbit/s ethernet, but have not had +any success with wireless. + +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. +option. See disorder_config(5). -Icecast Streaming -================= +* 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, @@ -113,7 +129,34 @@ 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: -mode:text +mode:outline fill-column:79 End: