Icecast Streaming Media Server Forum Index Icecast Streaming Media Server
Icecast is a Xiph Foundation Project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Couple of questions...

 
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server
View previous topic :: View next topic  
Author Message
Anonymous
Guest





PostPosted: Tue Mar 18, 2008 3:44 pm    Post subject: Couple of questions... Reply with quote

I have just a few questions that i can't figure out answers for

1: How/ where do I define multiple mountpoints, and how do I do it? I am using Ices and icecast on Fedora 8. I have a custom program recording 4 different channels, and I would like to encode on the fly using ALSA, or re-encoding mp3 files to OGG but not sure where to set the mount points.

2: My status pages comes up correctly, but obviously there are no mountpoints showing because i don't know how/where to set them. I have a seperate partition mounted as /logger , and this is where the MP3 files are.

3: What is the better option? streaming using ALSA (Jack is using ALSA right now) Or streaming by re-encoding MP3 files?

Thanks

Attached is a screenshot of my icecast status page:


Here is my icecast.xml file, edited out of course...

<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
<burst-size>65535</burst-size>
</limits>

<authentication>
<!-- Sources log in with username 'source' -->
<source-password>hackme</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>hackme</relay-password>

<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>password</admin-password>
</authentication>

<!-- Uncomment this if you want directory listings -->
<!--
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url>
</directory>
-->

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->
<hostname>192.168.11.28</hostname>

<!-- You can use these two if you only want a single listener -->
<!--<port>8000</port> -->
<!--<bind-address>127.0.0.1</bind-address>-->

<!-- You may have multiple <listener> elements -->
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
</listen-socket>
<!--
<listen-socket>
<port>8001</port>
</listen-socket>
-->

<!--<master-server>127.0.0.1</master-server>-->
<!--<master-server-port>8001</master-server-port>-->
<!--<master-update-interval>120</master-update-interval>-->
<!--<master-password>hackme</master-password>-->
<!--<master-relay-auth>1</master-relay-auth>-->

<!-- setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here.
The default is 0 -->
<!--<relays-on-demand>1</relays-on-demand>-->


<!-- Report <hostname> and this port to master server for redirecting
clients to this slave -->
<!--<master-redirect-port>8000</master-redirect-port>-->

<!-- Relays. State connection information, and by default
request inline metadata for mp3 streams if available.
An on-demand relay will only retrieve the stream if
there are listeners connected -->
<!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<on-demand>1</on-demand>

<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
-->

<!-- Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
<mount>
<mount-name>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/path/to/stream-intro.ogg</intro>
<hidden>1</hidden>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>
-->
<!-- other auth possibilities include running a command
to do the auth, mount, user and pass are passed via
stdin to the program
<mount>
....
<authentication type="command">
<option name="filename" value="auth_verify"/>
</authentication>

or

for url auth, the add url needs to return a "icecast-auth-user: 1" http
header for a user to authenicate. Both urls are sent params via POST,
add is sent id, mount, user, pass, ip, useragent
remove is passed id, mount, user, pass, duration

<authentication type="url">

state username/password if url requires it

<option name="username" value="admin"/>
<option name="password" value="hackme"/>
<option name="add" value="http://myauthserver.com/scripts/add_listener.php"/>
<option name="remove" value="http://myauthserver.com/scripts/del_listener.php"/>
</authentication>
</mount -->


<fileserve>1</fileserve>

<!-- set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
-->

<paths>
<!-- basedir is only used if chroot is enabled -->
<basedir>/usr/share/icecast</basedir>

<!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root -->
<logdir>/logger/stream/log</logdir>
<webroot>/usr/share/icecast/web</webroot>
<adminroot>/usr/share/icecast/admin</adminroot>
<pidfile>/logger/stream/icecast.pid</pidfile>

<!-- Aliases: treat requests for 'source' path as being for 'dest' path
May be made specific to a port or bound address using the "port"
and "bind-address" attributes.
-->
<!--
<alias source="/foo" dest="/bar"/>
-->
<!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
-->
<alias source="/" dest="/status.xsl"/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<playlistlog>playlist.log</playlistlog>
<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>

<security>
<chroot>0</chroot>
<changeowner>
<user>logger</user>
<group>logger</group>
</changeowner>
</security>
</icecast>[/img]
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Tue Mar 18, 2008 4:11 pm    Post subject: Reply with quote

You specify the mountpoint in the source client, ices2 for example. The source client will log on to icecast and pass the mountpoint to stream on. Whether you want to specify any further limitations on the stream like max listeners is up to you but if you want to then you define a <mount> section for the mountpoint in the icecast xml

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Tue Mar 18, 2008 4:30 pm    Post subject: Reply with quote

So if my files were in the directorys

/logger/foldername1
/logger/foldername2

What would my mount point be?

/logger/

?

I am pretty sure i am over thinking this, but i figured i had better ask.

Thanks
Back to top
Anonymous
Guest





PostPosted: Tue Mar 18, 2008 6:14 pm    Post subject: Reply with quote

Ok, here is a part i left out...

I have some files that were generated and they look like this.

How do i "point" ices to look at these files?

They are in the directory /logger/stream




<?xml version="1.0"?>
<ices>
<background>0</background> <!-- run in background? (unimplemented) -->
<realtime>0</realtime> <!-- disable realtime, enabled by default -->
<user>logger</user> <!-- user to change to when started as root -->
<logpath>/logger/stream/log/</logpath> <!-- where log goes. -->
<logsize>65536</logsize> <!-- the size the log has to get to before cycling -->
<logfile>ices.log</logfile>
<loglevel>4</loglevel> <!-- 1=error,2=warn,3=info,4=debug -->
<consolelog>0</consolelog> <!-- logfile is ignored if this is set to 1 -->
<pidfile>/logger/stream/ices.pid</pidfile> <!-- file to write process id to -->

<stream>
<!-- global settings for all streams - optional-->
<name>test_air</name>
<genre>Radio</genre>
<description>test_air LIVE FEED</description>
<!-- input module -->
<!-- This example uses the 'jack' module. It takes input from the -->
<!-- jack ports and processes it for live -->
<!-- encoding. If metadatafilename is set then at start and on USR1 -->
<!-- the file is read and the comments are added into the stream -->
<input>
<module>jack</module>
<param name="channels">2</param> <!-- number channels that will be available as jack ports-->

<param name="clientname">test_air-stream</param> <!-- jackclient name -->
<param name="metadatafilename">metadata</param>
</input>
<!-- more input section can be stated here, and can be switched manually -->
<!-- by USR2 or whenever the previous input finishes. The order is -->
<!-- dictated in here and loops aronnd to the first one listed -->

<!-- A runner is a thread that applies the input data to each outgoing -->
<!-- stream instance defined within it. Multiple runners can be stated -->
<!-- for use on multiple processors. -->
<runner>
<!-- stream instance, used to associate a set of encoding settings -->
<!-- with output. At the moment 2 outputs can be used, shout and -->
<!-- savestream. Any number or combination of these outputs can be used -->
<instance>
<!-- per instance setting, overriding the global settings - optional-->
<name>test_air</name>
<genre>Radio</genre>
<description>test_air LIVE FEED</description>
<!-- You define hostname and port for the server here, along with -->
<!-- the source password and mountpoint. If you miss them out -->
<!-- then any processing will still occur but it won't be sent to -->
<!-- icecast, useful for encode to file only -->
<shout>
<hostname>localhost</hostname>
<port>8000</port>
<password>GetIn</password>
<mount>/test_air-live.ogg</mount>
</shout>

<!-- resample input to the stated samplerate - optional
the input can change samplerate so this can be used to fix it
at a certain rate -->
<resample>
<out-rate>22050</out-rate>
</resample>

<downmix>1</downmix>

<!-- Live encoding/reencoding: -->
<encode>
<quality>3</quality>
<!-- usual options for encoding, except from samplerate and chanels -->
<!-- they are set from input/resample/downmix setting -->
</encode>
</instance>
</runner>
</stream>
</ices>
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Tue Mar 18, 2008 7:40 pm    Post subject: Reply with quote

In the above ices2-kh xml, the mountpoint is specified with <mount>/test_air-live.ogg</mount>

karl
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group
subRebel style by ktauber