/[gentoo]/xml/htdocs/doc/en/shoutcast-config.xml
Gentoo

Diff of /xml/htdocs/doc/en/shoutcast-config.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.10 Revision 1.11
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/shoutcast-config.xml,v 1.10 2005/06/30 07:48:33 fox2mike Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/shoutcast-config.xml,v 1.11 2005/06/30 09:27:11 swift Exp $ -->
4<guide link="shoutcast-config.xml"> 4<guide link="shoutcast-config.xml">
5<title>Streaming Radio With SHOUTcast</title> 5<title>Streaming Radio With SHOUTcast</title>
6 6
7<author title="Author"> 7<author title="Author">
8 <mail link="chriswhite@gentoo.org">Chris White</mail> 8 <mail link="chriswhite@gentoo.org">Chris White</mail>
83MaxUser=10 83MaxUser=10
84</pre> 84</pre>
85 85
86<p> 86<p>
87This is where the maximum number of users is set. As the caption states, 87This is where the maximum number of users is set. As the caption states,
88it is foolish to setup 100 users on a 256kbs upload (This is what I have set, 88it is foolish to setup 100 users on a 256kbps upload (This is what I have set,
89as my upload is about that). If you're running SHOUTcast Server to serve a 89as my upload is about that). If you're running SHOUTcast Server to serve a
90LAN, you can probably set this MUCH higher (to the 100 mentioned easily). 90LAN, you can probably set this MUCH higher (to the 100 mentioned easily).
91Please remember to not abuse whatever bandwidth you are using though. Bandwidth 91Please remember to not abuse whatever bandwidth you are using though. Bandwidth
92comes at quite a high price to ISP's and some will cut your account, fine you 92comes at quite a high price to ISPs and some will cut your account, fine you
93high costs to makeup, or both. 93high costs to makeup, or both.
94</p> 94</p>
95 95
96<pre caption="Setting the password"> 96<pre caption="Setting the password">
97<comment>; Password. While SHOUTcast never asks a listener for a password, a 97<comment>; Password. While SHOUTcast never asks a listener for a password, a
114 114
115<pre caption="Setting up your listening port"> 115<pre caption="Setting up your listening port">
116<comment>; PortBase. This is the port number your server will run on. The 116<comment>; PortBase. This is the port number your server will run on. The
117; value, and the value + 1 must be available. If you get a fatal error when 117; value, and the value + 1 must be available. If you get a fatal error when
118; the DNAS is setting up a socket on startup, make sure nothing else on the 118; the DNAS is setting up a socket on startup, make sure nothing else on the
119; machine is running on the same port (telnet localhost portnumber -- if you 119; machine is running on the same port (telnet localhost port number -- if you
120; get connection refused then you're clear to use that port). Ports less than 1024 120; get connection refused then you're clear to use that port). Ports less than 1024
121; may require root privileges on *nix machines. The default port is 8000.</comment> 121; may require root privileges on *nix machines. The default port is 8000.</comment>
122PortBase=8000 122PortBase=8000
123</pre> 123</pre>
124 124
133<pre caption="Setting up logging"> 133<pre caption="Setting up logging">
134<comment>; LogFile: file to use for logging. Can be '/dev/null' or 'none' 134<comment>; LogFile: file to use for logging. Can be '/dev/null' or 'none'
135; or empty to turn off logging. The default is ./sc_serv.log 135; or empty to turn off logging. The default is ./sc_serv.log
136; on *nix systems or sc_serv_dir\sc_serv.log on win32. 136; on *nix systems or sc_serv_dir\sc_serv.log on win32.
137; Note: on win32 systems if no path is specified the location is 137; Note: on win32 systems if no path is specified the location is
138; in the same dir as the executable, on *nix systems it is in the 138; in the same directory as the executable, on *nix systems it is in the
139; current directory.</comment> 139; current directory.</comment>
140LogFile=/var/log/SHOUTcast.log 140LogFile=/var/log/SHOUTcast.log
141</pre> 141</pre>
142 142
143<p> 143<p>
169</pre> 169</pre>
170 170
171<p> 171<p>
172This is disabled by default in the ebuild to make the daemon run as 172This is disabled by default in the ebuild to make the daemon run as
173silently as possible. This will log any events (connects, disconnects, etc) 173silently as possible. This will log any events (connects, disconnects, etc)
174to stdout as they happen in realtime. However, because the log file 174to stdout as they happen in real time. However, because the log file
175does the same thing, I recommend using it instead. 175does the same thing, I recommend using it instead.
176</p> 176</p>
177 177
178<pre caption="Setting the last number of songs displayed"> 178<pre caption="Setting the last number of songs displayed">
179<comment>; ShowLastSongs specifies how many songs to list in the /played.html 179<comment>; ShowLastSongs specifies how many songs to list in the /played.html
186/played.html will display. If you put more than 20, you should probably 186/played.html will display. If you put more than 20, you should probably
187consider more coffee. 187consider more coffee.
188</p> 188</p>
189 189
190<pre caption="Setting up filesystem modification logging"> 190<pre caption="Setting up filesystem modification logging">
191<comment>; TchLog decides whether or not the DNAS logfile should track yp 191<comment>; TchLog decides whether or not the DNAS log file should track yp
192; directory touches. Adds and removes still appear regardless of 192; directory touches. Adds and removes still appear regardless of
193; this setting. 193; this setting.
194; Default is yes 194; Default is yes
195; TchLog=yes</comment> 195; TchLog=yes</comment>
196</pre> 196</pre>
213; Default is no. 213; Default is no.
214; WebLog=no</comment> 214; WebLog=no</comment>
215</pre> 215</pre>
216 216
217<p> 217<p>
218This specifies whether or not you want to log hits to the http server that 218This specifies whether or not you want to log hits to the HTTP server that
219SHOUTcast provides. Once again, recommended for those who wish the most 219SHOUTcast provides. Once again, recommended for those who wish the most
220secure logging possible, but not recommended for home/casual users. 220secure logging possible, but not recommended for home/casual users.
221</p> 221</p>
222 222
223<pre caption="Enabling W3C Logging"> 223<pre caption="Enabling W3C Logging">
226; took. This data can be parsed with tools like Analog and WebTrends, or given 226; took. This data can be parsed with tools like Analog and WebTrends, or given
227; to third parties like Arbitron and Measurecast for their reporting systems. 227; to third parties like Arbitron and Measurecast for their reporting systems.
228; Default is Yes (enabled).</comment> 228; Default is Yes (enabled).</comment>
229W3CEnable=Yes 229W3CEnable=Yes
230 230
231<comment>; W3CLog describes the name of the logfile for W3C logging. Default logfile is 231<comment>; W3CLog describes the name of the log file for W3C logging. Default log file is
232; sc_w3c.log, in the same directory wherever the DNAS gets started from.</comment> 232; sc_w3c.log, in the same directory wherever the DNAS gets started from.</comment>
233W3CLog=/dev/null 233W3CLog=/dev/null
234</pre> 234</pre>
235 235
236<p> 236<p>
275This can be localhost (if you're anti-social and wish only to 275This can be localhost (if you're anti-social and wish only to
276stream to yourself), a private IP (for instance, 192.168.0.101, for hosting to 276stream to yourself), a private IP (for instance, 192.168.0.101, for hosting to
277a local network), or your external IP (for instance, 209.204.249.201, for 277a local network), or your external IP (for instance, 209.204.249.201, for
278streaming to a WAN, but not a LAN). In most cases, you can reach your own 278streaming to a WAN, but not a LAN). In most cases, you can reach your own
279stream by using 127.0.0.1 instead of what is listed here. ANY lets your 279stream by using 127.0.0.1 instead of what is listed here. ANY lets your
280SHOUTcast Server bind to all IP addresses on all avaliable interfaces. 280SHOUTcast Server bind to all IP addresses on all available interfaces.
281</p> 281</p>
282 282
283<pre caption="Setting proxy/yp.SHOUTcast.com port"> 283<pre caption="Setting proxy/yp.SHOUTcast.com port">
284<comment>; Yport, port to connect to yp.SHOUTcast.com on. For people behind caching 284<comment>; Yport, port to connect to yp.SHOUTcast.com on. For people behind caching
285; webproxies, change this to the alternate port (666 is what it might be, 285; web proxies, change this to the alternate port (666 is what it might be,
286; check www.SHOUTcast.com if you have problems). Otherwise, leave this at 80. 286; check www.SHOUTcast.com if you have problems). Otherwise, leave this at 80.
287; We're actively working on re-opening port 666, but as of release the only 287; We're actively working on re-opening port 666, but as of release the only
288; working port is port 80.</comment> 288; working port is port 80.</comment>
289Yport=80 289Yport=80
290</pre> 290</pre>
305</pre> 305</pre>
306 306
307<p> 307<p>
308This option specifies whether or not you want to perform reverse DNS lookups 308This option specifies whether or not you want to perform reverse DNS lookups
309on clients. This would take an IP address and try to find out the corresponding 309on clients. This would take an IP address and try to find out the corresponding
310hostname. Use this for logging purposes to create a more detailed report. 310host name. Use this for logging purposes to create a more detailed report.
311</p> 311</p>
312 312
313<pre caption="Setting up relaying"> 313<pre caption="Setting up relaying">
314<comment>; RelayPort and RelayServer specify that you want to be a relay server. 314<comment>; RelayPort and RelayServer specify that you want to be a relay server.
315; Relay servers act as clients to another server, and rebroadcast. 315; Relay servers act as clients to another server, and rebroadcast.
368</p> 368</p>
369 369
370<pre caption="Setting up the source timeout"> 370<pre caption="Setting up the source timeout">
371<comment>; AutoDumpSourceTime specifies how long, in seconds, the source stream is 371<comment>; AutoDumpSourceTime specifies how long, in seconds, the source stream is
372; allowed to be idle before the server disconnects it. 0 will let the source 372; allowed to be idle before the server disconnects it. 0 will let the source
373; stream idle indefinately before disconnecting. The default is 30.</comment> 373; stream idle indefinitely before disconnecting. The default is 30.</comment>
374AutoDumpSourceTime=30 374AutoDumpSourceTime=30
375</pre> 375</pre>
376 376
377<p> 377<p>
378This specifies when the SHOUTcast Server should give up waiting for a source 378This specifies when the SHOUTcast Server should give up waiting for a source
393wish to stream an announcement to employees, you could use this for that 393wish to stream an announcement to employees, you could use this for that
394purpose. The SHOUTcast Server ebuild sets this to 394purpose. The SHOUTcast Server ebuild sets this to
395<path>/opt/SHOUTcast/content</path> for you. To use this, put an mp3 in the 395<path>/opt/SHOUTcast/content</path> for you. To use this, put an mp3 in the
396content directory, then point your browser to 396content directory, then point your browser to
397<c>http://example.com:[port]/content/mp3name.pls</c>. SHOUTcast Server will 397<c>http://example.com:[port]/content/mp3name.pls</c>. SHOUTcast Server will
398automatically create a streaming media compatible playlist for the mp3, and 398automatically create a streaming media compatible play list for the mp3, and
399stream it on demand. Use this as an alternative to SHOUTcast Trans for 399stream it on demand. Use this as an alternative to SHOUTcast Trans for
400streaming media source. 400streaming media source.
401</p> 401</p>
402 402
403<pre caption="Setting up an intro file"> 403<pre caption="Setting up an intro file">
404<comment>; IntroFile can specify a mp3 file that will be streamed to listeners right 404<comment>; IntroFile can specify a mp3 file that will be streamed to listeners right
405; when they connect before they hear the live stream. 405; when they connect before they hear the live stream.
406; Note that the intro file MUST be the same samplerate/channels as the 406; Note that the intro file MUST be the same sample rate/channels as the
407; live stream in order for this to work properly. Although bitrate CAN 407; live stream in order for this to work properly. Although bit rate CAN
408; vary, you can use '%d' to specify the bitrate in the filename 408; vary, you can use '%d' to specify the butyrate in the filename
409; (i.e. C:\intro%d.mp3 would be C:\intro64.mp3 if you are casting at 64kbps). 409; (i.e. C:\intro%d.mp3 would be C:\intro64.mp3 if you are casting at 64kbps).
410; The default is no IntroFile 410; The default is no IntroFile
411; IntroFile=c:\intro%d.mp3</comment> 411; IntroFile=c:\intro%d.mp3</comment>
412</pre> 412</pre>
413 413
414<p> 414<p>
415This allows you to configure an intro file. Everytime users connect, they'll 415This allows you to configure an intro file. Every time users connect, they'll
416hear this file played. As it states, the stream bitrate and the intro song 416hear this file played. As it states, the stream butyrate and the intro song
417bitrate must match, or else things will break. You can, however, put 417butyrate must match, or else things will break. You can, however, put
418something such as intro128.mp3 and intro64.mp3, and it will play intro128.mp3 418something such as intro128.mp3 and intro64.mp3, and it will play intro128.mp3
419to users connecting to a 128kbps stream, and intro64 for users connecting at 64kbps. 419to users connecting to a 128kbps stream, and intro64 for users connecting at 64kbps.
420</p> 420</p>
421 421
422<pre caption="Setting up a back file"> 422<pre caption="Setting up a back file">
423<comment>; BackupFile can specify a mp3 file that will be streamed to listeners over 423<comment>; BackupFile can specify a mp3 file that will be streamed to listeners over
424; and over again when the source stream disconnects. AutoDumpUsers must be 424; and over again when the source stream disconnects. AutoDumpUsers must be
425; 0 to use this feature. When the source stream reconnects, the listeners 425; 0 to use this feature. When the source stream reconnects, the listeners
426; are rejoined into the live broadcast. 426; are rejoined into the live broadcast.
427; Note that the backup file MUST be the same samplerate/channels as the 427; Note that the backup file MUST be the same sample rate/channels as the
428; live stream in order for this to work properly. Although bitrate CAN 428; live stream in order for this to work properly. Although bit rate CAN
429; vary, you can use '%d' to specify the bitrate in the filename 429; vary, you can use '%d' to specify the bit rate in the filename
430; (i.e. C:\backup%d.mp3 would be C:\backup32.mp3 if you are casting at 32kbps). 430; (i.e. C:\backup%d.mp3 would be C:\backup32.mp3 if you are casting at 32kbps).
431; The default is no BackupFile 431; The default is no BackupFile
432; BackupFile=C:\intro%d.mp3</comment> 432; BackupFile=C:\intro%d.mp3</comment>
433</pre> 433</pre>
434 434
455source stream differs from your SHOUTcast Server's name. This will NOT work 455source stream differs from your SHOUTcast Server's name. This will NOT work
456with relay servers. 456with relay servers.
457</p> 457</p>
458 458
459<pre caption="Setting up a URL format"> 459<pre caption="Setting up a URL format">
460<comment>; URLFormat specifies a format string for what url is sent to the listener. 460<comment>; URLFormat specifies a format string for what URL is sent to the listener.
461; Behaves like TitleFormat (see above). 461; Behaves like TitleFormat (see above).
462; The default is no format string. 462; The default is no format string.
463; URLFormat=http://www.server.com/redirect.cgi?url=%s</comment> 463; URLFormat=http://www.server.com/redirect.cgi?url=%s</comment>
464</pre> 464</pre>
465 465
475PublicServer=default 475PublicServer=default
476</pre> 476</pre>
477 477
478<p> 478<p>
479This specifies whether or not you want to be listed as a public server even if 479This specifies whether or not you want to be listed as a public server even if
480your relay server/source plugin is listed as such. 480your relay server/source plug-in is listed as such.
481</p> 481</p>
482 482
483<pre caption="Allowing relaying"> 483<pre caption="Allowing relaying">
484<comment>; AllowRelay determines whether or not other SHOUTcast Servers will be 484<comment>; AllowRelay determines whether or not other SHOUTcast Servers will be
485; permitted to relay this server. The default is Yes.</comment> 485; permitted to relay this server. The default is Yes.</comment>
504SHOUTcastpublic directory if the server you're relaying to is already listed. 504SHOUTcastpublic directory if the server you're relaying to is already listed.
505Note that PublicServer can override this setting. 505Note that PublicServer can override this setting.
506</p> 506</p>
507 507
508<pre caption="Setting MetaInterval"> 508<pre caption="Setting MetaInterval">
509<comment>; MetaInterval specifies how often, in bytes, metadata sent. 509<comment>; MetaInterval specifies how often, in bytes, meta data sent.
510; You should really leave this at the default of 32768, but the option is 510; You should really leave this at the default of 32768, but the option is
511; provided anyway.</comment> 511; provided anyway.</comment>
512MetaInterval=32768 512MetaInterval=32768
513</pre> 513</pre>
514 514
551this setting. 551this setting.
552</p> 552</p>
553 553
554<pre caption="Setting the Rip list"> 554<pre caption="Setting the Rip list">
555<comment>; RipFile is the text file sc_serv reads and writes to/from 555<comment>; RipFile is the text file sc_serv reads and writes to/from
556; for the list of client IPs which are *ALWAYS* permitted 556; for the list of client IP addresses which are *ALWAYS* permitted
557; to connect to this server (useful for relay servers). 557; to connect to this server (useful for relay servers).
558; This file is automatically generated via the web 558; This file is automatically generated via the web
559; interface. Note that if your server is FULL, and someone 559; interface. Note that if your server is FULL, and someone
560; from a Reserved IP connects, the DNAS will force the person 560; from a Reserved IP connects, the DNAS will force the person
561; listening for the longest time off to make room for the new 561; listening for the longest time off to make room for the new
592<section> 592<section>
593<title>Mass Configuration</title> 593<title>Mass Configuration</title>
594<body> 594<body>
595 595
596<pre caption="Setting Unique variables"> 596<pre caption="Setting Unique variables">
597<comment>; Unique: assigns a variable name for use in any config item which points to a 597<comment>; Unique: assigns a variable name for use in any configuration item which points to a
598; file. Useful for servers running lots of SHOUTcast Servers that have similar 598; file. Useful for servers running lots of SHOUTcast Servers that have similar
599; configuration parameters, excepting logfile names, banfile names, etc. Any 599; configuration parameters, excepting log file names, ban file names, etc. Any
600; parameter that takes a pathname can include the character $, which will 600; parameter that takes a pathname can include the character $, which will
601; substitute $ for the variable assigned here. Keep in mind that the unique 601; substitute $ for the variable assigned here. Keep in mind that the unique
602; variable can only be used after it is defined, so don't try to use a unique 602; variable can only be used after it is defined, so don't try to use a unique
603; variable substitution in a path before you define it. For example, you 603; variable substitution in a path before you define it. For example, you
604; could set: 604; could set:
612Basically, if you're running lots of SHOUTcast Servers, it would be a dire 612Basically, if you're running lots of SHOUTcast Servers, it would be a dire
613pain to change all the log/ban/etc. files to something unique for every 613pain to change all the log/ban/etc. files to something unique for every
614configuration. Instead, you can set Unique to something, and $ will be 614configuration. Instead, you can set Unique to something, and $ will be
615replaced with whatever Unique is set to. For example, if one file had 615replaced with whatever Unique is set to. For example, if one file had
616Unique=Jazz and another had Unique=Rock, then Log=/var/log/$.log would 616Unique=Jazz and another had Unique=Rock, then Log=/var/log/$.log would
617produce /var/log/Jazz.log on one config file and /var/log/Rock.log on another 617produce /var/log/Jazz.log on one configuration file and /var/log/Rock.log on another
618config file. Much easier when dealing with multiple SHOUTcast Servers on 618configuration file. Much easier when dealing with multiple SHOUTcast Servers on
619similiar configurations. 619similar configurations.
620</p> 620</p>
621 621
622<pre caption="Setting up common configure variables"> 622<pre caption="Setting up common configure variables">
623<comment>; Include: instructs the sc_serv to read from the named configuration file, 623<comment>; Include: instructs the sc_serv to read from the named configuration file,
624; *at the point of insertion of the Include statement*, and process as though 624; *at the point of insertion of the Include statement*, and process as though
625; the included file was part of itself. Note that all configuration parameters 625; the included file was part of itself. Note that all configuration parameters
626; in the DNAS config file are processed first to last, so if an item is defined 626; in the DNAS configuration file are processed first to last, so if an item is defined
627; twice in a configuration, the last item to process will be the one that takes 627; twice in a configuration, the last item to process will be the one that takes
628; effect. For this reason, it's usually a good idea to use the Includes first 628; effect. For this reason, it's usually a good idea to use the Includes first
629; in a config file. 629; in a configuration file.
630; example: 630; example:
631; Include=/usr/local/SHOUTcast/common.conf 631; Include=/usr/local/SHOUTcast/common.conf
632; Default is not applicable.</comment> 632; Default is not applicable.</comment>
633</pre> 633</pre>
634 634
635<p> 635<p>
636If you're running multiple SHOUTcast Servers and wish to utilize similar 636If you're running multiple SHOUTcast Servers and wish to utilize similar
637configuration variables without setting them all for each configuration 637configuration variables without setting them all for each configuration
638file, you can set this to point to a file that contains settings that are 638file, you can set this to point to a file that contains settings that are
639similiar between multiple configurations. 639similar between multiple configurations.
640</p> 640</p>
641 641
642</body> 642</body>
643</section> 643</section>
644<section> 644<section>
690SHOUTcast Servers sends data more and more frequently to users. Best to leave 690SHOUTcast Servers sends data more and more frequently to users. Best to leave
691as is. 691as is.
692</p> 692</p>
693 693
694<pre caption="Setup XML output"> 694<pre caption="Setup XML output">
695<comment>; CleanXML strips some whitespace and linefeeds from XML output which 695<comment>; CleanXML strips some whitespace and line feeds from XML output which
696; confuses some (poorly written) XML parsers. If you get XML rendering errors, 696; confuses some (poorly written) XML parsers. If you get XML rendering errors,
697; try turning this on. Default is No (off). 697; try turning this on. Default is No (off).
698; CleanXML=No</comment> 698; CleanXML=No</comment>
699</pre> 699</pre>
700 700
701<p> 701<p>
702Probably don't need to worry about this setting to much unless you use custom 702Probably don't need to worry about this setting to much unless you use custom
703XML parsers to create custom statistics for you server. If the XML parser 703XML parsers to create custom statistics for you server. If the XML parser
704cannot handle whitespace and linefeeds in XML, set this to Yes, and all should 704cannot handle whitespace and line feeds in XML, set this to Yes, and all should
705work. 705work.
706</p> 706</p>
707 707
708</body> 708</body>
709</section> 709</section>
735<title>Setting up on demand streaming</title> 735<title>Setting up on demand streaming</title>
736<body> 736<body>
737 737
738<p> 738<p>
739On demand streaming, as shown in the configuration chapter, automatically sets 739On demand streaming, as shown in the configuration chapter, automatically sets
740up on demand playlists for mp3 files in the content directory. The Shoutcast 740up on demand play lists for mp3 files in the content directory. The Shoutcast
741server ebuild has a directory setup in /opt/SHOUTcast/content for all your on 741server ebuild has a directory setup in /opt/SHOUTcast/content for all your on
742demand mp3's. Let's get started by creating a simple on demand streaming mp3. 742demand mp3's. Let's get started by creating a simple on demand streaming mp3.
743</p> 743</p>
744 744
745<p> 745<p>
754# <i>ls</i> 754# <i>ls</i>
755sample.mp3 755sample.mp3
756</pre> 756</pre>
757 757
758<p> 758<p>
759Ok, so the file is copied over now. Now we'll need to startup our SHOUTcast 759OK, so the file is copied over now. Now we'll need to startup our SHOUTcast
760Server so the file can be accessed. 760Server so the file can be accessed.
761</p> 761</p>
762 762
763<pre caption="Starting up the Shoutcast Server"> 763<pre caption="Starting up the Shoutcast Server">
764# <i>/etc/init.d/shoutcast start</i> 764# <i>/etc/init.d/shoutcast start</i>
770******************************************************************************* 770*******************************************************************************
771 [ ok ] 771 [ ok ]
772</pre> 772</pre>
773 773
774<p> 774<p>
775The little banner is there to make sure that nothing dies right away (ie. so 775The little banner is there to make sure that nothing dies right away (i.e. so
776you know your server actually started). Your SHOUTcast Server is now started! 776you know your server actually started). Your SHOUTcast Server is now started!
777Because of the nature of on demand content, you will ONLY be able to access it 777Because of the nature of on demand content, you will ONLY be able to access it
778from a browser. MPlayer/XMMS/anything won't be able to stream it as is. I 778from a browser. MPlayer/XMMS/anything won't be able to stream it as is. I
779use kmplayer in order to access the stream directly from my browser. You can 779use kmplayer in order to access the stream directly from my browser. You can
780see the result on the next image. 780see the result on the next image.
798<section> 798<section>
799<title>SHOUTcast Trans introduction</title> 799<title>SHOUTcast Trans introduction</title>
800<body> 800<body>
801 801
802<p> 802<p>
803SHOUTcast Trans stands for SHOUTcast Trans(coder), as it is able to Transcode 803SHOUTcast Trans stands for SHOUTcast Trans(coder), as it is able to transcode
804mp3's to lower or higher bitrates. SHOUTcast Trans works by streaming mp3's 804mp3's to lower or higher bit rates. SHOUTcast Trans works by streaming mp3's
805from a playlist specified in the configuration file. We'll begin to setup the 805from a play list specified in the configuration file. We'll begin to setup the
806configuration for SHOUTcast Trans, so that we can have a real to goodness 806configuration for SHOUTcast Trans, so that we can have a real to goodness
807streaming radio station. We'll begin by opening the configuration file for 807streaming radio station. We'll begin by opening the configuration file for
808SHOUTcast Trans, which just so happens to be located in 808SHOUTcast Trans, which just so happens to be located in
809/etc/shoutcast/sc_trans.conf. 809/etc/shoutcast/sc_trans.conf.
810</p> 810</p>
826<section> 826<section>
827<title>Configuring SHOUTcast Trans</title> 827<title>Configuring SHOUTcast Trans</title>
828<body> 828<body>
829 829
830<pre caption="Setting up the playlist"> 830<pre caption="Setting up the playlist">
831<comment>; PlaylistFile (required EVEN IF RELAYING) - playlist file (to create, use 831<comment>; PlaylistFile (required EVEN IF RELAYING) - play list file (to create, use
832; find /path/to/mp3/directory -type f -name "*.mp3" &gt; playlist_filename.lst</comment> 832; find /path/to/mp3/directory -type f -name "*.mp3" &gt; playlist_filename.lst</comment>
833PlaylistFile=/opt/SHOUTcast/playlists/playlist.lst 833PlaylistFile=/opt/SHOUTcast/playlists/playlist.lst
834</pre> 834</pre>
835 835
836<p> 836<p>
837This setting tells SHOUTcast where to find its streaming media content from. 837This setting tells SHOUTcast where to find its streaming media content from.
838This setting requires an existing file, so let's go ahead and create a 838This setting requires an existing file, so let's go ahead and create a
839playlist. I'll create one real quick from my /Mp3 directory referred to 839play list. I'll create one real quick from my /Mp3 directory referred to
840earlier. 840earlier.
841</p> 841</p>
842 842
843<pre caption="Creating the playlist"> 843<pre caption="Creating the playlist">
844# <i>find /Mp3 -type f -name "*.mp3" &gt; /opt/SHOUTcast/playlists/playlist.lst</i> 844# <i>find /Mp3 -type f -name "*.mp3" &gt; /opt/SHOUTcast/playlists/playlist.lst</i>
845</pre> 845</pre>
846 846
847<p> 847<p>
848Now that the playlist is setup, we point the configuration file to it, and 848Now that the play list is setup, we point the configuration file to it, and
849SHOUTcast Trans will now know what files to stream. 849SHOUTcast Trans will now know what files to stream.
850</p> 850</p>
851 851
852<pre caption="Setting the server IP and port"> 852<pre caption="Setting the server IP and port">
853<comment>; Serverip/ServerPort are the target server to send to</comment> 853<comment>; Serverip/ServerPort are the target server to send to</comment>
877StreamURL=http://www.gentoo.org 877StreamURL=http://www.gentoo.org
878Genre=JPOP Electronica And More! 878Genre=JPOP Electronica And More!
879</pre> 879</pre>
880 880
881<p> 881<p>
882This sets up the title of your stream (ie. Radio One), the url (ie. 882This sets up the title of your stream (i.e. Radio One), the URL (i.e.
883http://www.radio-one.com), and the Genre (ie. Electronica Trance Tribal). 883http://www.radio-one.com), and the Genre (i.e. Electronica Trance Tribal).
884</p> 884</p>
885 885
886<pre caption="Setting up your logfile"> 886<pre caption="Setting up your logfile">
887<comment>; Logfile optionally denotes a text file to log sc_Trans to. a kill -HUP 887<comment>; Logfile optionally denotes a text file to log sc_Trans to. a kill -HUP
888; will force a close and re-open of this file (but will also cease logging to 888; will force a close and re-open of this file (but will also cease logging to
894This will point to the log file for SHOUTcast Trans. All your logging goes 894This will point to the log file for SHOUTcast Trans. All your logging goes
895here. 895here.
896</p> 896</p>
897 897
898<pre caption="Setting up shuffling"> 898<pre caption="Setting up shuffling">
899<comment>; Shuffle the playlist</comment> 899<comment>; Shuffle the play list</comment>
900Shuffle=1 900Shuffle=1
901</pre> 901</pre>
902 902
903<p> 903<p>
904Decide on whether or not you want your playlist to play random songs from your 904Decide on whether or not you want your play list to play random songs from your
905list each time. Most will set this to 1. If you're going to be accepting 905list each time. Most will set this to 1. If you're going to be accepting
906song requests, set this to 0 and I'll explain how to do that later on. 906song requests, set this to 0 and I'll explain how to do that later on.
907</p> 907</p>
908 908
909<pre caption="Setting up the stream"> 909<pre caption="Setting up the stream">
913; 24kbps 24000/22050/1 913; 24kbps 24000/22050/1
914; 32kbps 32000/22050/1 914; 32kbps 32000/22050/1
915; 64kbps mono 64000/44100/1 915; 64kbps mono 64000/44100/1
916; 64kbps stereo 64000/22050/2 916; 64kbps stereo 64000/22050/2
917; 96kbps stereo 96000/44100/2 917; 96kbps stereo 96000/44100/2
918; 128kbps stere0 128000/44100/2</comment> 918; 128kbps stereo 128000/44100/2</comment>
919Bitrate=128000 919Bitrate=128000
920SampleRate=44100 920SampleRate=44100
921Channels=2 921Channels=2
922<comment>; Quality is from 1-10. 1 is best, 10 is fastest.</comment> 922<comment>; Quality is from 1-10. 1 is best, 10 is fastest.</comment>
923Quality=1 923Quality=1
924</pre> 924</pre>
925 925
926<p> 926<p>
927Bitrate sets up the bitrate for your stream. This can be from 8000 (8kbps) to 927Bitrate sets up the bit rate for your stream. This can be from 8000 (8kbps) to
928128000 (128kbps). SampleRate sets the sampling rate of the stream. This can 928128000 (128kbps). SampleRate sets the sampling rate of the stream. This can
929be anything from 11025 (11025khz) to 44100 (44100khz). Channels sets how 929be anything from 11025 (11025kHz) to 44100 (44100kHz). Channels sets how
930many channels your stream will brodcast. This can be anything from 1 (mono) 930many channels your stream will broadcast. This can be anything from 1 (mono)
931to 2 (stereo). Quality sets the stream quality. This is somewhat still 931to 2 (stereo). Quality sets the stream quality. This is somewhat still
932controlled by the Bitrate/SampleRate/Channels. This is where you deal with 932controlled by the Bitrate/SampleRate/Channels. This is where you deal with
933how compressed the stream is. 1 gives you best quality, 10 gives you the best 933how compressed the stream is. 1 gives you best quality, 10 gives you the best
934speed. Keep your connection in mind when you set these values! Use the guide 934speed. Keep your connection in mind when you set these values! Use the guide
935given in order to figure out what your mp3's should be streamed at. 935given in order to figure out what your mp3's should be streamed at.
941<comment>; Length is ms.</comment> 941<comment>; Length is ms.</comment>
942CrossfadeLength=8000 942CrossfadeLength=8000
943</pre> 943</pre>
944 944
945<p> 945<p>
946This sets up song crossfading. Setting this to 0 will disable crossfading. 946This sets up song cross fading. Setting this to 0 will disable cross fading.
947If you set it to 1, Song 1 will fade out and Song 2 will fade in. If you set 947If you set it to 1, Song 1 will fade out and Song 2 will fade in. If you set
948it to 2, Song 1 will fade in and Song 2 will fade out. The length is how long 948it to 2, Song 1 will fade in and Song 2 will fade out. The length is how long
949in ms the crossfade occurs. 949in ms the cross fade occurs.
950</p> 950</p>
951 951
952<pre caption="Enabling ID3 usage"> 952<pre caption="Enabling ID3 usage">
953UseID3=1 953UseID3=1
954</pre> 954</pre>
962<comment>; Public determines whether or not this station will show up in the directory</comment> 962<comment>; Public determines whether or not this station will show up in the directory</comment>
963Public=0 963Public=0
964</pre> 964</pre>
965 965
966<p> 966<p>
967This sets up whether or not streams should be publically listed when relaying to 967This sets up whether or not streams should be publicly listed when relaying to
968a server. Remember PublicServer in sc_serv.conf can over-ride this! 968a server. Remember PublicServer in sc_serv.conf can over-ride this!
969</p> 969</p>
970 970
971<pre caption="Setting up user interaction"> 971<pre caption="Setting up user interaction">
972<comment>; Put stuff here for user interaction (AOL IM, ICQ, IRC)</comment> 972<comment>; Put stuff here for user interaction (AOL IM, ICQ, IRC)</comment>
974ICQ= 974ICQ=
975IRC=SHOUTcast 975IRC=SHOUTcast
976</pre> 976</pre>
977 977
978<p> 978<p>
979This sets up the information on how to reach you (the dj). You can setup AIM 979This sets up the information on how to reach you (the DJ). You can setup AIM
980or ICQ channels for song requests/anything. You can setup your own IRC channel 980or ICQ channels for song requests/anything. You can setup your own IRC channel
981as well, so that you can interact with multiple users at once. 981as well, so that you can interact with multiple users at once.
982</p> 982</p>
983 983
984</body> 984</body>
1085 <li> 1085 <li>
1086 Use on demand content streaming to make more interesting daily 1086 Use on demand content streaming to make more interesting daily
1087 announcements. 1087 announcements.
1088 </li> 1088 </li>
1089 <li> 1089 <li>
1090 Have streaming public announcements avaliable as they happen, let your 1090 Have streaming public announcements available as they happen, let your
1091 clients know what's going on, on the spot! Then archive them as on 1091 clients know what's going on, on the spot! Then archive them as on
1092 demand content streaming for future reference. 1092 demand content streaming for future reference.
1093 </li> 1093 </li>
1094 <li> 1094 <li>
1095 Do interviews as streaming media and archive them as on demand content 1095 Do interviews as streaming media and archive them as on demand content
1107<section> 1107<section>
1108<title>DJ-ing with SHOUTcast</title> 1108<title>DJ-ing with SHOUTcast</title>
1109<body> 1109<body>
1110 1110
1111<p> 1111<p>
1112SHOUTcast Server is one of the most popular servers for both new and vetran 1112SHOUTcast Server is one of the most popular servers for both new and veteran
1113DJ's alike. For those just starting, there are a few ways to increase the 1113DJs alike. For those just starting, there are a few ways to increase the
1114user experience of your SHOUTcast Server. Having an intro song is very key. 1114user experience of your SHOUTcast Server. Having an intro song is very key.
1115It gives the users an idea of what your station is all about. Be sure to 1115It gives the users an idea of what your station is all about. Be sure to
1116include this! Post your server on yp.SHOUTcast.com (described in the 1116include this! Post your server on yp.SHOUTcast.com (described in the
1117SHOUTcast Server configuration section) so that everyone knows where you 1117SHOUTcast Server configuration section) so that everyone knows where you
1118are. One of the most unique things is to be able to take requests. To set 1118are. One of the most unique things is to be able to take requests. To set
1119up requesting, first turn Shuffle off in sc_Trans.conf. Have about, I'd say, 1119up requesting, first turn Shuffle off in sc_Trans.conf. Have about, I'd say,
112010 or so songs ready to get you started. Then start requesting song requests 112010 or so songs ready to get you started. Then start requesting song requests
1121in the middle. When someone requests a song, simple add it to the end of your 1121in the middle. When someone requests a song, simple add it to the end of your
1122playlist, and then you can use this script here to control what SHOUTcast 1122play list, and then you can use this script here to control what SHOUTcast
1123Trans does with your playlist: 1123Trans does with your play list:
1124</p> 1124</p>
1125 1125
1126<pre caption="djcontrol"> 1126<pre caption="djcontrol">
1127<comment>#!/bin/bash</comment> 1127<comment>#!/bin/bash</comment>
1128 1128
1138 ;; 1138 ;;
1139esac 1139esac
1140</pre> 1140</pre>
1141 1141
1142<p> 1142<p>
1143When you've addded the song to the playlist, you need to tell SHOUTcast Trans 1143When you've added the song to the play list, you need to tell SHOUTcast Trans
1144that your playlist has changed with the new request entry. 1144that your play list has changed with the new request entry.
1145</p> 1145</p>
1146 1146
1147<pre caption="Reloading the playlist"> 1147<pre caption="Reloading the playlist">
1148# <i>djcontrol reload</i> 1148# <i>djcontrol reload</i>
1149</pre> 1149</pre>
1160<p> 1160<p>
1161Be careful not to skip too much, as there is no previous control. Once you 1161Be careful not to skip too much, as there is no previous control. Once you
1162hit their song, the requesting begins. I'd get about 5 or so requests before 1162hit their song, the requesting begins. I'd get about 5 or so requests before
1163you start requesting. This way you don't run all the way back to the 1163you start requesting. This way you don't run all the way back to the
1164beginning. If you start to lack in requests and expect that your request 1164beginning. If you start to lack in requests and expect that your request
1165hour is over with, then simply copy your next session's playlist over the 1165hour is over with, then simply copy your next session's play list over the
1166requests playlist and reload the playlist. Once the current song is over, 1166requests play list and reload the play list. Once the current song is over,
1167it will go back to the new playlist. 1167it will go back to the new play list.
1168</p> 1168</p>
1169 1169
1170</body> 1170</body>
1171</section> 1171</section>
1172<section> 1172<section>
1173<title>Conclusion</title> 1173<title>Conclusion</title>
1174<body> 1174<body>
1175 1175
1176<p> 1176<p>
1177That ends it for the SHOUTcast Server and SHOUTcast Trans tutorial. I hope 1177That ends it for the SHOUTcast Server and SHOUTcast Trans tutorial. I hope
1178you benefitted from the information here and please email me any comments or 1178you benefited from the information here and please email me any comments or
1179suggestions for this page! Enjoy your new streaming SHOUTcast Server! 1179suggestions for this page! Enjoy your new streaming SHOUTcast Server!
1180</p> 1180</p>
1181 1181
1182</body> 1182</body>
1183</section> 1183</section>

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.20