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 

Multiple mountpoints with fallback

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



Joined: 03 Dec 2008
Posts: 7

PostPosted: Wed Dec 03, 2008 2:21 pm    Post subject: Multiple mountpoints with fallback Reply with quote

Hi,

I have an icecast stream up and running being fed a stream by ices0, what i would like is to have it set so that if I want to stream using shoutcast and winamp I can connect and listeners from the ices stream will hear me, and if I disconnect they will fallback to the ices stream.

my icecast.xml


Code:

<icecast>
    <limits>
        <clients>100</clients>
        <sources>5</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <burst-on-connect>1</burst-on-connect>
        <burst-size>65535</burst-size>
    </limits>

    <authentication>
        <source-password>password</source-password>
        <relay-password>password</relay-password>

        <admin-user>admin</admin-user>
        <admin-password>password</admin-password>
    </authentication>

    <hostname>localhost</hostname>

    <listen-socket>
        <port>8009</port>
        <shoutcast-mount>/stream</shoutcast-mount>
    </listen-socket>
   
    <fileserve>1</fileserve>

    <paths>
        <basedir>/</basedir>
        <logdir>/usr/bin/icestation/var/log/icecast</logdir>
        <webroot>/usr/bin/icestation/share/icecast/web</webroot>
        <adminroot>/usr/bin/icestation/share/icecast/admin</adminroot>
        <pidfile>/usr/bin/icestation/share/icecast/icecast.pid</pidfile>

        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
         <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
         <logsize>10000</logsize> <!-- Max size of a logfile -->
    </logging>

    <security>
        <chroot>0</chroot>
        <changeowner>
            <user>icecast</user>
            <group>icecast</group>
        </changeowner>
    </security>
</icecast>


what do i need to add or modify in the above?

many thanks in advance for any hints / pointers/ solutions
Back to top
View user's profile Send private message
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Wed Dec 03, 2008 9:06 pm    Post subject: Reply with quote

It's not clear what you want here, if you want to relay an existing shoutcast stream, you can do using the relay tag group.

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



Joined: 03 Dec 2008
Posts: 7

PostPosted: Wed Dec 03, 2008 9:16 pm    Post subject: Reply with quote

i have a permanent stream running from ices0 on a qnap nas to icecast on same nas. However I would like to be able to use shoutcast/winamp from my windoze pc to provide a 'live' stream with mic and music mixed.

I would like listeners to drop to the 'live' stream when it is active, and fall back to the permanent stream when the live one is killed. that way I can run a 24/7 stream and still do live broadcasts without having to 1st kill the ices0 stream.

Does that make any better sense?

I am guessing I need to expand the

Code:
<listen-socket>
        <port>8009</port>
        <shoutcast-mount>/stream</shoutcast-mount>
    </listen-socket>
   


section, to include 2 mount points, say the /stream for the permanent stream and /live for the shoutcast connection. But not sure of exact syntax.
Back to top
View user's profile Send private message
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Wed Dec 03, 2008 11:59 pm    Post subject: Reply with quote

If you intend to use the shoutcast protocol to connect to icecast then you are unable to specify the mountpoint at the source client. However in 2.3.2 you can specify multiple listen-socket sections each referring to a unique mountpoint that the source clients will stream on. You then just define a fallback-mount as you would do within the icecast <mount> that listeners connect on.

From your description, it sounds like you want a listen-socket on 8009 referring to /fallback and another say 8011 referring to /stream. remember that procotol using 2 ports so listeners can connect on the main http ports eg 8009 but not on the +1 port as that is used for the source client.

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



Joined: 03 Dec 2008
Posts: 7

PostPosted: Thu Dec 04, 2008 12:43 am    Post subject: Reply with quote

ok so does that mean listeners get shuffled from port to port?

would i be better off trying to use the edcast plugin for winamp or foobar that supports mount points?

sorry to be a pain, I just want a transparent switch over to sound sources for the end listener so if they connect to http://url:8009/stream and i then go live they will hear me instead of the static stream?
Back to top
View user's profile Send private message
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Dec 04, 2008 1:10 am    Post subject: Reply with quote

no, the connection is not broken over fallback. As I said if you have one source client providing /fallback and one providing /stream then you can fallback and override between the two. Whether you use edcast or shoutcastDSP is up to you, if you use edcast in icecast2 mode then you can use a single port on the server for all of this.

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



Joined: 03 Dec 2008
Posts: 7

PostPosted: Thu Dec 04, 2008 9:09 am    Post subject: Reply with quote

sooo would this chunk inserted achieve what I wish?

Code:
      <listen-socket>
        <port>8011</port>
        <shoutcast-mount>/live</shoutcast-mount>
    </listen-socket>
   
   <mount>
        <mount-name>/live</mount-name>
      <fallback-mount>/stream</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>
   
    <listen-socket>
        <port>8009</port>
        <shoutcast-mount>/stream</shoutcast-mount>
      
    </listen-socket>
   
   <mount>
        <mount-name>/stream</mount-name>
      <fallback-mount>/live</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>


I don't see what makes listeners jump from /stream to /live either when /live becomes active?
Back to top
View user's profile Send private message
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Dec 04, 2008 2:17 pm    Post subject: Reply with quote

you don't need a fallback loop. I might have to change the names you've used to be less confusing, but assuming /stream is what listeners connect on, and /stream falls back to /fallback then /fallback would have the 24hr playlist source client on it and /stream would be what the live show would appear on. xml wise, the <mount> for /stream would state a fallback and override but the <mount> for /fallback would not. If you have the 2 listen sockets then either icecast2 for shoutcast style source client could connect.

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



Joined: 03 Dec 2008
Posts: 7

PostPosted: Thu Dec 04, 2008 3:58 pm    Post subject: Reply with quote

great \o/ that seems to have done it Smile

Code:
<authentication>
        <source-password>' . $password . '</source-password>
        <relay-password>' . $password . '</relay-password>

        <admin-user>admin</admin-user>
        <admin-password>' . $password . '</admin-password>
    </authentication>

    <hostname>localhost</hostname>

   <listen-socket>
        <port>8011</port>
        <shoutcast-mount>/live</shoutcast-mount>
    </listen-socket>
   
   <mount>
        <mount-name>/live</mount-name>
      <fallback-mount>/stream</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>   

    <authentication>
        <source-password>' . $password . '</source-password>
        <relay-password>' . $password . '</relay-password>

        <admin-user>admin</admin-user>
        <admin-password>' . $password . '</admin-password>
    </authentication>

    <hostname>localhost</hostname>
   
    <listen-socket>
        <port>' . $port . '</port>
        <shoutcast-mount>/stream</shoutcast-mount>
    </listen-socket>
   
   <mount>
        <mount-name>/stream</mount-name>
   </mount>   


seems to work as i wish Smile
Back to top
View user's profile Send private message
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