[Resolved] Airtime stream both with mp3 and ogg
  • I've been working on my airtime server for a long time now and i can't find a way to stream both in mp3 and ogg by only using Icecast. 

    I've tried to have one steam on Icecast and another stream using Darkice but that was unsuccesful aswell. 

    Is there any way that you can have two streams in both mp3 and ogg by only using Icecast? I need to have two streams up so every webbrowser can listen to my streams through HTML5.
    Post edited by Christian Libera at 2013-03-21 08:09:44
  • 17 Comments sorted by
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    you can do that
    icecast can stream ogg and mp3 stream on the same machine

    or perhaps i've don't understand really your question...
  • This is my current Airtime setup:
    Stream 1
    Stream Type: MP3
    Bit Rate: 128 Kbit/s
    Server: ********************'
    Port: 8001
    Service Type: Icecast
    Channels: 2- Stereo

    Stream 2
    Stream Type: OGG/VORBIS
    Bit Rate: 128 Kbit/s
    Server ******************
    Port: 8000
    Service Type: Icecast
    Channels: 2- Stereo

    Right now the only stream that works is the ogg stream
    Post edited by Christian Libera at 2013-03-18 08:02:28
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    why are you on port 8001 for mp3 and 8000 for ogg

    with icecast, they are on the same port : if ogg work, 8000
  • If i change the port on stream 1 to 8000 then none of the streams work
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    how many sources are authorized in your icecast.xml config file ?

    did you give the good password ?
    Post edited by Albert FR at 2013-03-18 10:19:05
  • My Icecast.xml file looks like this:

    <?xml version="1.0"?>
    -<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> 
    <!-- 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>admin</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>/airtime_128</shoutcast-mount> -->
     
    <!-- 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&gt; </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 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>localhost</server> <port>8001</port> <mount>/airtime_128</mount> <local-mount>/listen.ogg</local-mount> <on-demand>0</on-demand> <type>application/ogg</type> <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>/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> -<paths> 
    <!-- basedir is only used if chroot is enabled -->
     <basedir>/usr/share/icecast2</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/icecast2</logdir> <webroot>/usr/share/icecast2/web</webroot> <adminroot>/usr/share/icecast2/admin</adminroot> 
    <!-- <pidfile>/usr/share/icecast2/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 dest="/status.xsl" source="/"/> </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> 
    <!-- <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> -->
     </security> </icecast>
    Post edited by Christian Libera at 2013-03-19 06:03:17
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    in the config file, put yours sources from 2 to 4
    and I don't understand why you have a relay
    normally airtime use sources not relay andyou have also configured relay for shoutcast...
    Post edited by Albert FR at 2013-03-19 05:31:07
  • Should i erase the relays and replace them with sources?
  • This is an unedited icecast.xml file aswell so i haven't done any changes to it
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    are you sure ???
    I've never see that before...


    rename your icecast.xml into icecast.old

    and copy/paste this one (change passwd and hostname and modify paths)

    <icecast>
    <location>Not Currently Used</location>
    <admin>Not Currently Used</admin>

    <limits>
    <clients>100</clients>
    <sources>2</sources>
    <threadpool>5</threadpool>
    <client-timeout>30</client-timeout>
    <header-timeout>15</header-timeout>
    <source-timeout>10</source-timeout>
    </limits>

    <source-password>xxxxx</source-password>
    <relay-password>xxxxx</relay-password>

    <directory>
    <yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url&gt;
    </directory>

    <hostname>192.168.0.5</hostname>
    <port>8000</port>

    <!--<bind-address>127.0.0.1</bind-address>-->
    <!--<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>-->

    <fileserve>1</fileserve>

    <paths>
    <basedir>/usr/local/icecast2</basedir>
    <logdir>/usr/local/icecast2/logs</logdir>
    <webroot>/usr/local/icecast2/web</webroot>
    </paths>

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

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

  • Im still having problems with one of the streams, do i need to have two different passwords to each stream that i have?
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    nope

    use the same values for the two streams
    only the suffix is different (.ogg or .mp3)
  • Do i need to do any changes in liquidsoap or somewhere else aswell because it still says that the mp3 stream is getting information from the server and the ogg stream says that is connected :(
    Post edited by Christian Libera at 2013-03-21 06:58:57
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    nope
  • Its working now, guess the server that i have airtime on is slow and take it takes a while for the settings to take in. 
    Thanks for all the help!
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    thanks to mark this thread as [resolved] ;-)
  • Hi, will this work with other radio software as well?

    Want icecast to Stream both ogg and mp3.

    Thanks!