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 

Setting up webradio relay

 
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: Wed Mar 21, 2007 9:04 am    Post subject: Setting up webradio relay Reply with quote

Hello,
I'm trying to configure icecast to relay some webradios to my home network. These should then be played by mi Kiss DP-558 which unfortunately allows mp3 streams at port 80. I'm using this device to connect to listed Shoutcast radios without any problem.

So now the issue:
The webradio is streaming in both ogg and mp3 and I would like to get mp3 stream working.
The webradio has adress http://www.rozhlas.cz/audio/download/leonardo_high_mp3.m3u

This is just the playlist that points to stream at
http://stream.rozhlas.cz:8000/leonardo_high.mp3
so what I'm putting into relay is the infor from this link (tried to resolve IP for the server adress and DNS name).
local mount name has been given as /leonardo_high.mp3

Now I need to set the icecast to stream at local port 80 (http), which is probably the real issue.
I have changed the port number in the config file and restarted the server, but accessing localhost/leonardo_high.mp3 gives "no such file response"
Accessing the http://localhost I do get the icecast config pages for login..

So at the moment I'm unable to connect to relayed stream even locally. The idea is to have relayed stream at localhost:80/leonardo_high.mp3 so it could be later read by the Kiss player.

I'm afraid I have either confused something in the config, or the port80 is default port of icecast that can't be changed thus I'm getting a conflict here.

I think the relay is configured correctly, is it so?

I appreciate any advice you may have about this..

Thanks, Pinky
Back to top
Anonymous
Guest





PostPosted: Wed Mar 21, 2007 3:10 pm    Post subject: Reply with quote

Strange, whatever I do, i can't even get connected to the relay source. The relays sources stays 0... Confused

Also, despite I ried different settings entered as port number, the icecast is always responding at port 80. So it seems I can't use it to relay from one port to port 80 that the device mentioned could read??

Is port 80 used and occupied by default?
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Wed Mar 21, 2007 5:33 pm    Post subject: Reply with quote

The default port used by icecast is 8000 which can be overidden by your xml. You haven't posted the xml or the log files so we can only go by your description.

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





PostPosted: Thu Mar 22, 2007 2:54 pm    Post subject: Reply with quote

Well, this is my config file...
I can see both icecast service and the icecast app listening on port 80 when I check my firewall. The App however doesn't show any relay source connection. Connecting to localhost:80/leonardo_high.mp3 fails from both Windows media player as well as put in the browser.

Thank you for your advice,
Pinky
Code:
<icecast>
    <limits>
        <clients>10</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>
        <!-- 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>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>hackme</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>localhost</hostname>

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

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>80</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>80</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>195.113.180.42</server>
        <port>8000</port>
        <mount>/leonardo_high.mp3</mount>
        <local-mount>/leonardo_high.mp3</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>/leonardo.mp3</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>/example_intro.ogg</intro>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <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>

    <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>

    <!-- 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>/leonardo_high.mp3</shoutcast-mount>
    -->

    <paths>
      <!-- basedir is only used if chroot is enabled -->
        <basedir>./</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>./logs</logdir>
        <webroot>./web</webroot>
        <adminroot>./admin</adminroot>
        <!-- <pidfile>./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 -->
         <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>
        <!--
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
        -->
    </security>
</icecast>
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Mar 22, 2007 4:05 pm    Post subject: Reply with quote

Your xml defines no relays, are you sure you are not misunderstanding xml comments <!-- this is ignored -->

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





PostPosted: Fri Mar 23, 2007 7:20 am    Post subject: Reply with quote

Hi AKrl,
I'm new to xml so maybe I read the config file wrong. But the two sections are valid, aren't they?

Code:
    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>80</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>

So the listen port 80 is defined, right?

Code:
    <relay>
        <server>195.113.180.42</server>
        <port>8000</port>
        <mount>/leonardo_high.mp3</mount>
        <local-mount>/leonardo_high.mp3</local-mount>
        <on-demand>0</on-demand>

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


Or is it the <!-- and --> in front of/after the relay section that make the setting inactive? I'm afraid so... Embarassed

Will try to remove these marks around relay section and see what happens. Thank you for pointing me the right direction Karl!!

Pinky
Back to top
Anonymous
Guest





PostPosted: Fri Mar 23, 2007 2:48 pm    Post subject: Reply with quote

Thank you Karl,
it has indeed been the <!-- and --> signs that were actaully making the whole section inactive. Opening the xml in my favourite Notepad++ immediately highlighted this problem.

Anyway, I was wondering if several relays can be set up under one icecast server. I was trying this without any success. Only the last mountpoint shows as available (and actually serves) when I open local web interface...

Code:
    <relay>
        <server>195.113.180.42</server>
        <port>8000</port>
        <mount>/leonardo_high.mp3</mount>
        <local-mount>/leo80.mp3</local-mount>
        <on-demand>0</on-demand>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
   </relay>
   <relay>   
        <server>195.250.146.100</server>
        <port>8000</port>
        <mount>/radiobeat128.mp3</mount>
        <local-mount>/beat.mp3</local-mount>
        <on-demand>0</on-demand>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
   </relay>
   <relay>   
        <server>195.113.161.70</server>
        <port>8000</port>
        <mount>/cro-leonardo.ogg</mount>
        <local-mount>/Leo128.ogg</local-mount>
        <on-demand>0</on-demand>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Fri Mar 23, 2007 3:29 pm    Post subject: Reply with quote

many relays can be active at the same time, but you'll see that both your <sources> and <clients> limits are very low. As for why you only get 1 relay running, I'd suggest you look at the error log.

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





PostPosted: Fri Mar 23, 2007 4:01 pm    Post subject: Reply with quote

Actually I found out it strated correctly when
1. Service restarted
2. The server App started

Changing the server config and starting it up didn't give te expected output. Looks like the setting has been cached probably?

Now I managed to get all thre relays up, can define some of them as "on demand".. perfect!

And it does relay to ocal port 80 as I've expected. Unfortunately the device can't get the good talk with the icecast yet but that is nothing wrong with the icecast.

Thank you very much for a good piece of software!!
Back to top
Anonymous
Guest





PostPosted: Mon Mar 26, 2007 6:37 am    Post subject: Reply with quote

As I've mentioned I set up the Icecast sucessfully as i can test on the PC. However, I do have a problem connecting with the home multimedia device that was actually reason why I used the Icecast to convert streams to port 80 that is the only one that this device allows as per documentation.
I do get a connectin and see that only few bytes are transferred.

acces.log then dispalys this line

Code:
192.168.2.102 - - [26/Mar/2007:08:18:38 +0200] "HEAD /leo80.mp3 HTTP/1.1" 400 77 "-" "-" 0


where leo80.mp3 is the mount stream name.
How can I read this line. is this and error? what are the numbers 400 77 "-" "-" 0 saying?

Thanks in advance,
Pinky
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Mon Mar 26, 2007 11:23 am    Post subject: Reply with quote

Icecast doesn't implement the HEAD request. Is that the only thing the client does?

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





PostPosted: Mon Mar 26, 2007 10:06 pm    Post subject: Reply with quote

apparently yes... Sad

Evry request I try to make from the device creates only one such line... It does suport .pls file so I created one manually.
It seems as it is correctly downloaded and read by the device which then again sends the HEAD request to start streaming.. The line appears identical whrther therequest has been made on streamed .mp3 or the .pls that points to it...
So is this the end of story??
Back to top
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