-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
181 lines (114 loc) · 6.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Litestream was originally written by Gene Kan and is an incredibly tight and clean piece of software. After his death maintainership passed on to Rick Bradley and Sean /The RIMBoy/ Jewett. The latest version of litestream can be obtained via github at: http://github.com/rick/litestream/
Litestream is made available under the terms of the BSD license found in the LICENSE file.
INSTALLATION AND USAGE
1. Build Litestream.
The included Makefile may work with your version of make. If it
does not, you may have to edit it a little. Works fine with
GNU make 3.78.1.
1.a. Solaris
For Solaris you must uncomment then "-lnsl -lresolv" in the LDFLAGS
line in the Makefile. You must also add
"typedef unsigned short u_int16_t;" to the beginning of any file
where you see the error "unknown type u_int16_t" or something of
that sort. I will get around to automated configuration.
1.b. Mac OS X
Litestream requires Mac OS X 10.2 or better. Previous versions did
not include a native strtok_r(3) function. If you wish to use
litestream on Mac OS X prior to 10.2 please inquire on the
litestream-devel mailing list for assistance.
2. Start Litestream Server.
./litestream <source port> <stream host> <stream port> <max listeners> <log ident> [<yp host> <yp port>]
<source port> is the listening port. That is where you will
point your streaming source.
<stream host> is the fully qualified hostname or IP address of
the computer which is running Litestream Server. The reason you
must specify this parameter is because it is difficult or
impossible to determine this automatically.
<stream port> is the port on which Litestream Server will wait
for stream listeners.
<max listeners> is the maximum number of listeners this instance
of Litestream Server can support. Typically I would calculate
this by dividing the throughput of my Internet connection by the
bitrate of the stream. For example, for a T1 broadcasting a
160 Kbps stream:
1500000/160000 = 9
<log ident> is the syslog identifier which will be prepended to
each log message generated by Litestream Server. Litestream
MP3 Streaming System logs all messages on LOCAL0.
YP PARAMETERS:
If you don't specify both the <yp host> and <yp port> there will
be no YP reporting. That means that whether or not your streaming
source specifies the stream is public, no YP reporting will take
place.
<yp host> is the hostname or IP address of the YP server.
<yp port> is the port on which the YP server is listening.
Example:
./litestream 8000 www.litestream.net 8888 10 stream yp.shoutcast.com 80
3. Connect a streaming source.
Litestream Server will not register with the YP server until a
streaming source is connected to Litestream Server.
Litestream 1.0 beta 1 is compatible with Nullsoft Winamp and
Litestream Streaming Source, and possibly others.
If you want to use Litestream Streaming Source, which is a
non-reencoding streaming source which simply loops over the
files in your playlist, here's how to execute it:
./source <ip or hostname> <port> <name> <genre> <url> <irc> <icq> <aim> <public? (0, 1)> <reported bitrate (16, 18, 56, 128, etc.)> <playlist.txt>
<ip or hostname> is the hostname or IP address of the computer
running Litestream Server.
<port> is the port on which Litestream Server is waiting for a
streaming source.
<name> is the name of your stream.
<genre> is the genre of your stream.
<url> is the URL for your stream's web page.
<irc> is the IRC channel for your stream.
<icq> is your ICQ ID.
<aim> is your AIM ID.
<public> is either 0 or 1. 0 for private, 1 for public.
<reported bitrate> is the stream bitrate which will be reported
to the YP server. This does not necessarily reflect the actual
bitrate of your stream.
<playlist.txt> is the name of the file containing your playlist.
<log ident> is the syslog identifier which will be prepended to
each log message generated by Litestream Streaming Source.
Litestream MP3 Streaming System logs all messages on LOCAL0.
Example:
Here are a few lines from my playlist file:
/usr/litestream/mp3/paul_oakenfold/Fluro___Disk_1/We_re_Not_Alone.mp3
/usr/litestream/mp3/paul_oakenfold/Fluro___Disk_1/Merry_Christmas_Mr._Lawrence.mp3
/usr/litestream/mp3/paul_oakenfold/Fluro___Disk_1/Mystery_Land.mp3
Here is how I run my Litestream Streaming Source:
./source localhost 8000 'Ibiza Euphoria!' Techno http://www.litestream.net #gotgrub 0 N/A 1 160 /usr/litestream/bin/playlist.m3u source
Take note that some shells will not like the '#' in the IRC channel
name. You will have to escape it with a backslash (\#) or use
whatever method your shell requires to make the '#' a regular
character. (Normally '#' is used to begin a shell comment.)
4. Optionally start one or more Literestream Servers.
./literestream <mirror tag> <source host> <source port> <stream host> <stream port> <max listeners> <log ident> [<yp host> <yp port>]
<mirror tag> is the name by which the mirror will be known.
This should be a short and geographically descriptive. It
will be displayed on the YP server.
<source host> is the hostname of the computer running
Litestream Server.
<source port> is the port on which Litestream Server is
waiting for listeners.
<stream host> is the fully qualified hostname or IP address
of the computer running Literestream Server.
<stream port> is the port on which Literestream Server will
wait for stream listeners.
The remaining arguments correspond to their Litestream Server
counterparts (above).
Example:
./literestream 'XCF, UC Berkeley CA USA' www.litestream.net 8888 scam.xcf.berkeley.edu 8888 600 restream yp.shoutcast.com 80
5. Add /etc/hosts entries.
For all the IP addresses and hostnames you used above, create
an entry in the /etc/hosts file. This will prevent catastrophe
in the case of DNS failure.
For example, I add the line:
205.188.245.119 yp.shoutcast.com
Without that line, Litestream Server would sit there trying to
figure out the hostname for yp.shoutcast.com instead of what doing
it's supposed to do.
--- BEGIN HISTORICAL README ---
Litestream MP3 Streaming System
For more information, help, etc., please email me at Gene Kan <[email protected]>.
Thanks for using Litestream.