View previous topic :: View next topic |
Author |
Message |
Anonymous Guest
|
Posted: Wed Jul 11, 2007 7:44 pm Post subject: Automatically reconnect |
|
|
Is there any player or any way to automatically reconnect to a stream if the internet connection is temporarily dropped? I will be using Icecast to feed audio to an actual radio station and would like it to be a walk away operation. Please answer if you have any idea. We'll eventually be using a linux operating system, so if you have any answers for that, I'd like to hear that to. Thanks!
Jon |
|
Back to top |
|
|
bojko91
Joined: 12 Mar 2010 Posts: 7 Location: Rousse
|
Posted: Fri Mar 12, 2010 6:29 pm Post subject: Re: Automatically reconnect |
|
|
Anonymous wrote: |
Is there any player or any way to automatically reconnect to a stream if the internet connection is temporarily dropped? I will be using Icecast to feed audio to an actual radio station and would like it to be a walk away operation. Please answer if you have any idea. We'll eventually be using a linux operating system, so if you have any answers for that, I'd like to hear that to. Thanks!
Jon |
1st sorry for my bad english.
I have same problem. I run Icecast under Linux Mandriva 2010. Everything is ok, but when dj`s changing stream stop for 1-5 seconds, and users after this 5 sec. not reconnect automaticly... How to fix this problem?
In shoutcast i havent this problem, but i want to use IceCast!
Best wishes: Bozhidar |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Fri Mar 12, 2010 6:47 pm Post subject: |
|
|
icecast is not able to control what a player does, but they will typically retry to reconnect immediately on a drop and if that reconnection attempt fails then they stop or move to the next entry on the playlist.
If the situation is that the streams exits while the switch over occurs, causing the listeners to disconnect and attempt reconnection, and the stream hasn't reconnected by that time then maybe you should prevent that disconnection by specifying a fallback mount (file or stream) which will be overridden when the next source connects.
karl. |
|
Back to top |
|
|
bojko91
Joined: 12 Mar 2010 Posts: 7 Location: Rousse
|
Posted: Fri Mar 12, 2010 8:32 pm Post subject: |
|
|
karlH wrote: |
icecast is not able to control what a player does, but they will typically retry to reconnect immediately on a drop and if that reconnection attempt fails then they stop or move to the next entry on the playlist.
If the situation is that the streams exits while the switch over occurs, causing the listeners to disconnect and attempt reconnection, and the stream hasn't reconnected by that time then maybe you should prevent that disconnection by specifying a fallback mount (file or stream) which will be overridden when the next source connects.
karl. |
Hello Karl.
Can you give me more information how to do this. Im new in Icecast. I have 2 mounts /live & /live2.
This is my icecast.xml:
Code: |
<icecast>
<limits>
<clients>1024</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>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. -->
<burst-on-connect>1</burst-on-connect>
<!-- 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>***</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>****</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>corner</admin-user>
<admin-password>****</admin-password>
</authentication>
<!-- 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> -->
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.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>radio-excellent.tk</hostname>
<!-- You may have multiple <listener> elements -->
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</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>-->
<!-- 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>-->
<!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<on-demand>0</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>/live3</mount-name>
<!--<username>othersource</username>
<password>hackmemore</password> -->
<max-listeners>1024</max-listeners>
<dump-file>/tmp/live3</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>http://radio-excellent.tk/mp3/Insomnia.mp3</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<!-- <intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<no-yp>1</no-yp>-->
<authentication type="htpasswd">
<option name="filename" value="/usr/share/icecast/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>
<!--
<mount>
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
<option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
<option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
<option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
</authentication>
</mount>
-->
<fileserve>1</fileserve>
<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>/var/log/icecast</logdir>
<webroot>/usr/share/icecast/web</webroot>
<adminroot>/usr/share/icecast/admin</adminroot>
<pidfile>/var/run/icecast/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>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
<!-- If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old.
Default is non-archive mode (i.e. overwrite)
-->
<!-- <logarchive>1</logarchive> -->
</logging>
<security>
<chroot>0</chroot>
<!-- Changing user will break logrotate support ( cannot create pid file )
<changeowner>
<user>icecast</user>
<group>icecast</group>
</changeowner>
-->
</security>
</icecast>
|
Thanks alot!
Best wishes: Bozhidar _________________ http://radio-excellent.tk |
|
Back to top |
|
|
bmn
Joined: 03 Aug 2008 Posts: 12
|
Posted: Fri Mar 12, 2010 8:53 pm Post subject: |
|
|
OK, the important options are fallback-mount and fallback-override.
fallback-mount should be set to the path of another stream, e.g. /anotherstream - if you know that one of your live streams will always be up, you can have /live use /live2 as the fallback and vice versa.
Another method is to install an automated source client such as ices, mount it in a secret location, and have it play a playlist of your choice. Then use this stream as your fallback. This guarantees that there'll always be something on your original stream as long as ices is running.
fallback-override, set to 1, brings your listeners back onto the original stream once your new source has connected. |
|
Back to top |
|
|
|
|
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
|