X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/b3b157a8376660e6f2360daf078e295599cf7754..68be70c089d4b6d704981e2941c1e892b34d5a94:/README.streams diff --git a/README.streams b/README.streams index 1356b78..24756d0 100644 --- a/README.streams +++ b/README.streams @@ -1,34 +1,79 @@ -RTP Streaming -============= +* Introduction -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 +This file describes DisOrder's relationship to several different things that +get called 'streams'. + +* RTP Streaming + +DisOrder is capable of transmitting RTP streams over a suitable network. + +** Server Setup + +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: - speaker_backend network + api 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. +The destination address (broadcast) can be: + - a broadcast address for a local network + - a multicast address + +The source address (broadcast_from) is optional but may be convenient in some +cases. + +If the destination is a multicast address then you should set the TTL, for +instance: + + multicast_ttl 10 + +(The destination can also be a unicast address but that's not a tested +configuration.) + +scripts/setup now knows how to do basic setup for network play. + +** Playing The Stream -To play, use the disorder-playrtp client. +To play, use the disorder-playrtp client. If the destination address was a +unicast or broadcast address then: - disorder-playrtp 0.0.0.0 9003 + disorder-playrtp 9003 + +If the destination address was a multicast address then you must specify that, +for instance: + + disorder-playrtp 224.2.3.4 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 the ~/.disorder directory. + +** 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. -If you have a too-recent version of sox you may need to set the sox_generation -option. +Possibly other lower-quality but lower-bandwidth encodings will be supported in +future. -There is now (not well tested) multicast support. +If you have a very recent version of sox you may need to set the sox_generation +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, @@ -48,35 +93,34 @@ where ices.xml is: 4 0 - - lyonesse - Various - lyonesse disorder output - - - stdinpcm - 44100 - 2 - 1 - /var/disorder/icedata - - - lyonesse.anjou.terraraq.org.uk - 8000 - SOURCE PASSWORD HERE - /disorder.ogg - 2 - 5 - 80 - - 64000 - 44100 - 2 - 8820 - - - - + + lyonesse + Various + lyonesse disorder output + + + stdinpcm + 44100 + 2 + 1 + /var/disorder/icedata + + + lyonesse.anjou.terraraq.org.uk + 8000 + SOURCE PASSWORD HERE + /disorder.ogg + 2 + 5 + 80 + + 64000 + 44100 + 2 + 8820 + + + This doesn't seem to get on very well with pausing but you're unlikely to want @@ -87,9 +131,11 @@ 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. +Mark Wooding contributed the original support for this but it's been modified +enough that he probably shouldn't be blamed for any bugs in the current code. + -DisOrder and Republishing Internet Streams -========================================== +* 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: @@ -117,6 +163,6 @@ normal play by scratching the stream. Local Variables: -mode:text +mode:outline fill-column:79 End: