Icecast Fedora9 migration problems

View: New views
8 Messages — Rating Filter:   Alert me  

Icecast Fedora9 migration problems

by Seann Clark :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok, First I want to start off with this isn't the first icecast I have
cloned, but it is the first where I have not only jumped Fedora release
versions, but arch types as well (i386 - x86_64) and I am having strange
problems. The Icecast versions are the same between the old and new servers.

The biggest being is that the server binds to whatever port it feels
like instead of the bind port specified. The rest of the issues I have
with Icecast are minor (stats? What stats?) so here is the startup
script and config I am using:


Icecast 2.3.1:
############Startup Script##########3
#!/bin/sh
#
# icecast      This shell script takes care of starting and stopping
#              the icecast multimedia streaming systen.
#
# chkconfig: - 85 15
# description: icecast is a multimedia streaming daemon. It is used to \
#              relay and offer multimedia streaming content.
# processname: icecast
# pidfile: /var/run/icecast/icecast.pid
# config: /etc/icecast.xml

# Source function library.
. /etc/rc.d/init.d/functions

[ -x /usr/bin/icecast ] || exit 0

# See how we were called.
case "$1" in
  start)
        # Start daemon.
        echo -n $"Starting icecast streaming daemon: "
        daemon "/usr/bin/icecast -b -c /etc/icecast.xml > /dev/null"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/icecast
        ;;
  stop)
        # Stop daemon.
        echo -n $"Shutting down icecast streaming daemon: "
        killproc icecast
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/icecast
        ;;
  status)
        status icecast
        RETVAL=$?
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        echo -n $"Reloading icecast: "
        killproc icecast -HUP
        RETVAL=$?
        echo
        ;;
  condrestart)
        [ -f /var/lock/subsys/icecast ] && restart || :
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload}"
        RETVAL=1
        ;;
esac

exit $RETVAL



#################CONFIG#################
<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></source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password></relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user></admin-user>
        <admin-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>hikari.tsukonokage.net</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>192.168.10.5</bind-address>
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
    </listen-socket>
    -->

    <master-server>192.168.10.5</master-server>
    <master-server-port>8001</master-server-port>
    <master-update-interval>120</master-update-interval>
    <master-password></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>0</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>
    -->
<mount>
        <mount-name>/radio.ogg</mount-name>
        <username>haruhi</username>
        <password>123</password>
        <stream-name>tsukinokage.net's Audio Streams</stream-name>
        <stream-description>Music from
www.tsukinokage.net</stream-description>
        <stream-url>http://radio.tsukinokage.net</stream-url>
        </mount>

    <!-- 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>haruhi</username>
        <password></password>

        <max-listeners>100</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 -->

<stats_log>/var/log/icecast/stats.log</stats_log>
<statshtml_log>/var/www/html/icestat.html</statshtml_log>
<stats_time>30</stats_time>
        <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>/listen.pls</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>/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 -->
    </logging>

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





--
Seann Clark
Tsukinokage.net
nombrandue@...

_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Karl Heyes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Seann Clark wrote:

> The biggest being is that the server binds to whatever port it feels
> like instead of the bind port specified. The rest of the issues I have

a random port bind is a new issue. Can you show us the
netstat -tnlp | grep icecast
for the xml provided?

> with Icecast are minor (stats? What stats?) so here is the startup
> script and config I am using:

if you have suggestions for extra stats which are shown on the web pages
like /admin/stats then feel free to mention them.

>
> Icecast 2.3.1:

ok, so slightly out of date.


> #################CONFIG#################
> <icecast>
...
>     <!-- You may have multiple <listener> elements -->
>     <listen-socket>
>         <port>8000</port>
>         <bind-address>192.168.10.5</bind-address>
>     </listen-socket>

looks straight forward enough

>     <master-server>192.168.10.5</master-server>
>     <master-server-port>8001</master-server-port>
>     <master-update-interval>120</master-update-interval>
>     <master-password></master-password>

so this is a slave icecast? the master is on port 8001


> <stats_log>/var/log/icecast/stats.log</stats_log>
> <statshtml_log>/var/www/html/icestat.html</statshtml_log>
> <stats_time>30</stats_time>

not sure where these come from, icecast2 will ignore them

>     <shoutcast-mount>/listen.pls</shoutcast-mount>

You have only specified 1 port so shoutcast source clients won't be
streaming, but if you do intend to use one of those then you'll want a
better mountpoint name as this implies a playlist.

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

level 4 gives more details, but do check the logs and in the case of
port bindings, use the netstat command.

karl.

_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Seann Clark :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Karl Heyes wrote:
> Seann Clark wrote:
>
>> The biggest being is that the server binds to whatever port it feels
>> like instead of the bind port specified. The rest of the issues I have
>
> a random port bind is a new issue. Can you show us the
> netstat -tnlp | grep icecast
> for the xml provided?
Thu Jul 03-13:54:17-root@haruhi-new:~> netstat -tnlp | grep icecast
tcp        0      0 192.168.10.5:34429          
0.0.0.0:*                   LISTEN      3336/icecast
>
>> with Icecast are minor (stats? What stats?) so here is the startup
>> script and config I am using:
>
> if you have suggestions for extra stats which are shown on the web
> pages like /admin/stats then feel free to mention them.
What I am after is some log file type of way to store stats so I can run
a program like webalizer or something against it
>
>>
>> Icecast 2.3.1:
>
> ok, so slightly out of date.
This was a Distro RPM (yum install icecast)

>
>
>> #################CONFIG#################
>> <icecast>
> ...
>>     <!-- You may have multiple <listener> elements -->
>>     <listen-socket>
>>         <port>8000</port>
>>         <bind-address>192.168.10.5</bind-address>
>>     </listen-socket>
>
> looks straight forward enough
>
>>     <master-server>192.168.10.5</master-server>
>>     <master-server-port>8001</master-server-port>
>>     <master-update-interval>120</master-update-interval>
>>     <master-password></master-password>
>
> so this is a slave icecast? the master is on port 8001
Didn't know this was the pure slave statement, the instructions on the
site are a bit cryptic, so I had a hard time guessing how to put it
together.
>
>
>> <stats_log>/var/log/icecast/stats.log</stats_log>
>> <statshtml_log>/var/www/html/icestat.html</statshtml_log>
>> <stats_time>30</stats_time>
>
> not sure where these come from, icecast2 will ignore them
A read me type of walk through stated this did the stats logging I
desired, not sure what version it was for but it got left behind in my
configs
>
>>     <shoutcast-mount>/listen.pls</shoutcast-mount>
>
> You have only specified 1 port so shoutcast source clients won't be
> streaming, but if you do intend to use one of those then you'll want a
> better mountpoint name as this implies a playlist.
>
I don't have the shout part set up, never really go around to getting a
shout up properly, so that is a fragment of "Will fix when I get to it"

>>     <logging>
>>         <accesslog>access.log</accesslog>
>>         <errorlog>error.log</errorlog>
>>         <playlistlog>playlist.log</playlistlog>
>>         <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
>>     </logging>
>
> level 4 gives more details, but do check the logs and in the case of
> port bindings, use the netstat command.
>
> karl.
>


All the logging I get from the icecast is:

[2008-07-03  10:23:46] INFO fserve/fserve_shutdown file serving thread
stopped
[2008-07-03  10:23:46] INFO slave/_slave_thread Slave thread shutdown
complete
[2008-07-03  10:23:46] INFO auth/auth_run_thread Authenication thread
shutting down
[2008-07-03  10:23:46] INFO auth/auth_shutdown Auth thread has terminated
[2008-07-03  10:23:46] INFO yp/yp_shutdown YP thread down
[2008-07-03  10:23:47] INFO stats/stats_shutdown stats thread finished
[2008-07-03  10:23:47] INFO main/main Icecast 2.3.1 server started
[2008-07-03  10:23:47] INFO yp/yp_update_thread YP update thread started
[2008-07-03  10:23:47] INFO auth/auth_run_thread Authentication thread
started
[2008-07-03  10:23:48] WARN slave/update_from_master Relay slave failed
to contact master server to fetch stream list
[2008-07-03  10:25:34] INFO sighandler/_sig_die Caught signal 15,
shutting down...
[2008-07-03  10:25:34] INFO main/main Shutting down
[2008-07-03  10:25:34] INFO fserve/fserve_shutdown file serving thread
stopped
[2008-07-03  10:25:35] INFO slave/_slave_thread Slave thread shutdown
complete
[2008-07-03  10:25:35] INFO auth/auth_run_thread Authenication thread
shutting down
[2008-07-03  10:25:35] INFO auth/auth_shutdown Auth thread has terminated
[2008-07-03  10:25:35] INFO yp/yp_shutdown YP thread down
[2008-07-03  10:25:35] INFO stats/stats_shutdown stats thread finished
[2008-07-03  10:25:35] INFO main/main Icecast 2.3.1 server started
[2008-07-03  10:25:35] INFO yp/yp_update_thread YP update thread started
[2008-07-03  10:25:35] INFO auth/auth_run_thread Authentication thread
started
[2008-07-03  10:25:36] WARN slave/update_from_master Relay slave failed
to contact master server to fetch stream list
[2008-07-03  10:25:52] INFO sighandler/_sig_die Caught signal 15,
shutting down...
[2008-07-03  10:25:52] INFO main/main Shutting down
[2008-07-03  10:25:52] INFO fserve/fserve_shutdown file serving thread
stopped
[2008-07-03  10:25:52] INFO slave/_slave_thread Slave thread shutdown
complete
[2008-07-03  10:25:52] INFO auth/auth_run_thread Authenication thread
shutting down
[2008-07-03  10:25:52] INFO auth/auth_shutdown Auth thread has terminated
[2008-07-03  10:25:53] INFO yp/yp_shutdown YP thread down
[2008-07-03  10:25:53] INFO stats/stats_shutdown stats thread finished
[2008-07-03  13:54:15] INFO main/main Icecast 2.3.1 server started
[2008-07-03  13:54:15] INFO yp/yp_update_thread YP update thread started
[2008-07-03  13:54:15] INFO auth/auth_run_thread Authentication thread
started
[2008-07-03  13:54:16] WARN slave/update_from_master Relay slave failed
to contact master server to fetch stream list
[2008-07-03  13:56:16] WARN slave/update_from_master Relay slave failed
to contact master server to fetch stream list
[2008-07-03  13:58:16] WARN slave/update_from_master Relay slave failed
to contact master server to fetch stream list
[2008-07-03  14:00:08] INFO sighandler/_sig_die Caught signal 15,
shutting down...
[2008-07-03  14:00:08] INFO main/main Shutting down
[2008-07-03  14:00:08] INFO fserve/fserve_shutdown file serving thread
stopped
[2008-07-03  14:00:09] INFO slave/_slave_thread Slave thread shutdown
complete
[2008-07-03  14:00:09] INFO auth/auth_run_thread Authenication thread
shutting down
[2008-07-03  14:00:09] INFO auth/auth_shutdown Auth thread has terminated
[2008-07-03  14:00:09] INFO yp/yp_shutdown YP thread down
[2008-07-03  14:00:10] INFO stats/stats_shutdown stats thread finished
[2008-07-03  14:00:35] INFO main/main Icecast 2.3.1 server started
[2008-07-03  14:00:35] DBUG yp/yp_recheck_config Updating YP configuration
[2008-07-03  14:00:35] INFO yp/yp_update_thread YP update thread started
[2008-07-03  14:00:35] INFO auth/auth_run_thread Authentication thread
started
[2008-07-03  14:00:36] DBUG slave/_slave_thread checking master stream list
[2008-07-03  14:00:36] WARN slave/update_from_master Relay slave failed
to contact master server to fetch stream list


--
Seann Clark
Tsukinokage.net
nombrandue@...

_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Karl Heyes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Seann Clark wrote:

> Karl Heyes wrote:
>> Seann Clark wrote:
>>
>>> The biggest being is that the server binds to whatever port it feels
>>> like instead of the bind port specified. The rest of the issues I have
>>
>> a random port bind is a new issue. Can you show us the
>> netstat -tnlp | grep icecast
>> for the xml provided?
> Thu Jul 03-13:54:17-root@haruhi-new:~> netstat -tnlp | grep icecast
> tcp        0      0 192.168.10.5:34429          
> 0.0.0.0:*                   LISTEN      3336/icecast

ok, that doesn't match the 8000 port and you should raise that with them
as that doesn't occur here.  Check which package you actually have and
whether it has been compiled for 32 or 64bit.

>>> with Icecast are minor (stats? What stats?) so here is the startup
>>> script and config I am using:
>>
>> if you have suggestions for extra stats which are shown on the web
>> pages like /admin/stats then feel free to mention them.
> What I am after is some log file type of way to store stats so I can run
> a program like webalizer or something against it
>>
>>>
>>> Icecast 2.3.1:
>>
>> ok, so slightly out of date.
> This was a Distro RPM (yum install icecast)

I don't maintain any distributions, so I cannot comment on their rpms or
any patches they apply to the code.  As indicated, the 2.3.2 release is
out and had more 64bit work done on it, whether that or something else
is causing the port issue I don't know until you try with our shipped code.

>>>     <master-server>192.168.10.5</master-server>
>>>     <master-server-port>8001</master-server-port>
>>>     <master-update-interval>120</master-update-interval>
>>>     <master-password></master-password>
>>
>> so this is a slave icecast? the master is on port 8001
> Didn't know this was the pure slave statement, the instructions on the
> site are a bit cryptic, so I had a hard time guessing how to put it
> together.

general rule is, don't specify it unless you know what it is for.

>>> <stats_log>/var/log/icecast/stats.log</stats_log>
>>> <statshtml_log>/var/www/html/icestat.html</statshtml_log>
>>> <stats_time>30</stats_time>
>>
>> not sure where these come from, icecast2 will ignore them
> A read me type of walk through stated this did the stats logging I
> desired, not sure what version it was for but it got left behind in my
> configs

whatever it is, it's wasn't for icecast2.


> All the logging I get from the icecast is:
....
> [2008-07-03  14:00:36] DBUG slave/_slave_thread checking master stream list
> [2008-07-03  14:00:36] WARN slave/update_from_master Relay slave failed
> to contact master server to fetch stream list

All that's there is icecast starting and failing to get a list of
streams from a master server.

karl.

_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Seann Clark :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok, sorry about the top post.

Compiled and installed 3.2.3, found a few stilled borked configs with my
MPD, and fixed that, and both Icecast (after playing with ownerships that
were deleted when I de-yum'ed the icecast RPM from the Fedora repo's) and
icecast is working. I will clean up the config to remove some of the things
that were mentioned though.

Looking at the interface for the new one, I do like it a bit more but I am
still looking it over it.


I have a question with icecast, though I think it is more something with MPD
that I have been wondering. Is it just mpd plugged into it that prevents mp3
streaming or would anyone here know?


I use MPD a lot and have had no problems with it at all, I am just looking
at getting WMP working with my icecast. It doesn't really like the OGG that
is streamed, but once again that may be my own fault.

Thanks for the help so far, and I will get this 'complaint' out to the
Fedora community to get that package fixed and updated.

Regards,
Seann

-----Original Message-----
From: Karl Heyes [mailto:karl@...]
Sent: Thursday, July 03, 2008 7:00 PM
To: Seann Clark
Cc: icecast@...
Subject: Re: [Icecast] Icecast Fedora9 migration problems

Seann Clark wrote:

> Karl Heyes wrote:
>> Seann Clark wrote:
>>
>>> The biggest being is that the server binds to whatever port it feels
>>> like instead of the bind port specified. The rest of the issues I have
>>
>> a random port bind is a new issue. Can you show us the
>> netstat -tnlp | grep icecast
>> for the xml provided?
> Thu Jul 03-13:54:17-root@haruhi-new:~> netstat -tnlp | grep icecast
> tcp        0      0 192.168.10.5:34429          
> 0.0.0.0:*                   LISTEN      3336/icecast

ok, that doesn't match the 8000 port and you should raise that with them
as that doesn't occur here.  Check which package you actually have and
whether it has been compiled for 32 or 64bit.

>>> with Icecast are minor (stats? What stats?) so here is the startup
>>> script and config I am using:
>>
>> if you have suggestions for extra stats which are shown on the web
>> pages like /admin/stats then feel free to mention them.
> What I am after is some log file type of way to store stats so I can run
> a program like webalizer or something against it
>>
>>>
>>> Icecast 2.3.1:
>>
>> ok, so slightly out of date.
> This was a Distro RPM (yum install icecast)

I don't maintain any distributions, so I cannot comment on their rpms or
any patches they apply to the code.  As indicated, the 2.3.2 release is
out and had more 64bit work done on it, whether that or something else
is causing the port issue I don't know until you try with our shipped code.

>>>     <master-server>192.168.10.5</master-server>
>>>     <master-server-port>8001</master-server-port>
>>>     <master-update-interval>120</master-update-interval>
>>>     <master-password></master-password>
>>
>> so this is a slave icecast? the master is on port 8001
> Didn't know this was the pure slave statement, the instructions on the
> site are a bit cryptic, so I had a hard time guessing how to put it
> together.

general rule is, don't specify it unless you know what it is for.

>>> <stats_log>/var/log/icecast/stats.log</stats_log>
>>> <statshtml_log>/var/www/html/icestat.html</statshtml_log>
>>> <stats_time>30</stats_time>
>>
>> not sure where these come from, icecast2 will ignore them
> A read me type of walk through stated this did the stats logging I
> desired, not sure what version it was for but it got left behind in my
> configs

whatever it is, it's wasn't for icecast2.


> All the logging I get from the icecast is:
....
> [2008-07-03  14:00:36] DBUG slave/_slave_thread checking master stream
list
> [2008-07-03  14:00:36] WARN slave/update_from_master Relay slave failed
> to contact master server to fetch stream list

All that's there is icecast starting and failing to get a list of
streams from a master server.

karl.

_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Romain Beauxis-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Le Friday 04 July 2008 02:00:23 Karl Heyes, vous avez écrit :

> Seann Clark wrote:
> > Karl Heyes wrote:
> >> Seann Clark wrote:
> >>> The biggest being is that the server binds to whatever port it feels
> >>> like instead of the bind port specified. The rest of the issues I have
> >>
> >> a random port bind is a new issue. Can you show us the
> >> netstat -tnlp | grep icecast
> >> for the xml provided?
> >
> > Thu Jul 03-13:54:17-root@haruhi-new:~> netstat -tnlp | grep icecast
> > tcp        0      0 192.168.10.5:34429          
> > 0.0.0.0:*                   LISTEN      3336/icecast
>
> ok, that doesn't match the 8000 port and you should raise that with them
> as that doesn't occur here.  Check which package you actually have and
> whether it has been compiled for 32 or 64bit.

This issue has also been reported on debian ARM, though not confirmed:
  http://bugs.debian.org/475889

Since the issue appeared between two similar versions, it could be because of
another library...


Romain
_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Karl Heyes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Seann Clark wrote:

> Ok, sorry about the top post.
>
> Compiled and installed 3.2.3, found a few stilled borked configs with my
> MPD, and fixed that, and both Icecast (after playing with ownerships that
> were deleted when I de-yum'ed the icecast RPM from the Fedora repo's) and
> icecast is working. I will clean up the config to remove some of the things
> that were mentioned though.
>
> Looking at the interface for the new one, I do like it a bit more but I am
> still looking it over it.

np, don't forget get the xsl files can be customized.

> I have a question with icecast, though I think it is more something with MPD
> that I have been wondering. Is it just mpd plugged into it that prevents mp3
> streaming or would anyone here know?

although we don't actually support mp3 (non-free codec), streams of that
codec work because it passes through without issue. In one sense you
can't actually disabled it.

> I use MPD a lot and have had no problems with it at all, I am just looking
> at getting WMP working with my icecast. It doesn't really like the OGG that
> is streamed, but once again that may be my own fault.

WMP is reported to work if you have the filters installed although MS
don't provide the filters themselves. mp3 streams do work but my last
information on this was that variable bitrate MP3 via a stream didn't
work in WMP.

> Thanks for the help so far, and I will get this 'complaint' out to the
> Fedora community to get that package fixed and updated.

The mechanism for the actual listening bind was changed so that both
ipv6 and ipv4 is listened on so it may been indirectly fixed. All I can
say is that it wasn't reported and I do have access to x86_64.  The only
problem case I'm aware of wrt listening sockets is on some BSD setups.


karl.


_______________________________________________
Icecast mailing list
Icecast@...
http://lists.xiph.org/mailman/listinfo/icecast

Re: Icecast Fedora9 migration problems

by Matrafux :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

try to find out the real stream url. use curl

Seann Clark wrote:
Ok, First I want to start off with this isn't the first icecast I have
cloned, but it is the first where I have not only jumped Fedora release
versions, but arch types as well (i386 - x86_64) and I am having strange
problems. The Icecast versions are the same between the old and new servers.

The biggest being is that the server binds to whatever port it feels
like instead of the bind port specified. The rest of the issues I have
with Icecast are minor (stats? What stats?) so here is the startup
script and config I am using:


Icecast 2.3.1:
############Startup Script##########3
#!/bin/sh
#
# icecast      This shell script takes care of starting and stopping
#              the icecast multimedia streaming systen.
#
# chkconfig: - 85 15
# description: icecast is a multimedia streaming daemon. It is used to \
#              relay and offer multimedia streaming content.
# processname: icecast
# pidfile: /var/run/icecast/icecast.pid
# config: /etc/icecast.xml

# Source function library.
. /etc/rc.d/init.d/functions

[ -x /usr/bin/icecast ] || exit 0

# See how we were called.
case "$1" in
  start)
        # Start daemon.
        echo -n $"Starting icecast streaming daemon: "
        daemon "/usr/bin/icecast -b -c /etc/icecast.xml > /dev/null"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/icecast
        ;;
  stop)
        # Stop daemon.
        echo -n $"Shutting down icecast streaming daemon: "
        killproc icecast
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/icecast
        ;;
  status)
        status icecast
        RETVAL=$?
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        echo -n $"Reloading icecast: "
        killproc icecast -HUP
        RETVAL=$?
        echo
        ;;
  condrestart)
        [ -f /var/lock/subsys/icecast ] && restart || :
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload}"
        RETVAL=1
        ;;
esac

exit $RETVAL



#################CONFIG#################
<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></source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password></relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user></admin-user>
        <admin-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>hikari.tsukonokage.net</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>192.168.10.5</bind-address>
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
    </listen-socket>
    -->

    <master-server>192.168.10.5</master-server>
    <master-server-port>8001</master-server-port>
    <master-update-interval>120</master-update-interval>
    <master-password></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>0</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>
    -->
<mount>
        <mount-name>/radio.ogg</mount-name>
        <username>haruhi</username>
        <password>123</password>
        <stream-name>tsukinokage.net's Audio Streams</stream-name>
        <stream-description>Music from
www.tsukinokage.net</stream-description>
        <stream-url>http://radio.tsukinokage.net</stream-url>
        </mount>

    <!-- 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>haruhi</username>
        <password></password>

        <max-listeners>100</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 -->

<stats_log>/var/log/icecast/stats.log</stats_log>
<statshtml_log>/var/www/html/icestat.html</statshtml_log>
<stats_time>30</stats_time>
        <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>/listen.pls</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>/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 -->
    </logging>

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





--
Seann Clark
Tsukinokage.net
nombrandue@tsukinokage.net

_______________________________________________
Icecast mailing list
Icecast@xiph.org
http://lists.xiph.org/mailman/listinfo/icecast