Xiph logo
Icecast Logo
blue divider
Home  |   Download  |   Subversion  |   Stream Directory  |   Docs  |   3rd Party Apps  |   Ices  |   Mailing List  |   Forums  |   Contact
blue divider



icecast is free server software for streaming multimedia.

News

Icecast Release 2.4-beta5

We are pleased to announce a fifth beta release of Icecast. A summary of the changes is listed below, for details please refere to the ChangeLog.
Please note that while Opus and WebM are considered production ready, there might be other problems in this release. We appreciate feedback and discussion on the icecast-dev mailing list!

Downloads:

Source :icecast-2.4-beta5.tar.gz
Windows build :icecast_win32_2.4_beta5.zip


  • New features -
    • Web interface redone - Web output properly redone, credit to ePirat. Now validates completely as XHTML1.0 strict. Also improves rendering on mobile devices.
    • Send charset in HTTP headers for everything, excluding file-serv and streams.

  • Bugfixes -
    • reverting r18945 for now as using -b breaks things. Reopening #1886, patch needs rework.

Posted March 01, 2014 by dm8tbr


Icecast Release 2.4-beta4

We are pleased to announce a fourth beta release of Icecast. A summary of the changes is listed below, for details please refere to the ChangeLog.
Please note that while Opus and WebM are considered production ready, there might be other problems in this release. We appreciate feedback and discussion on the icecast-dev mailing list!

Downloads:

Source :icecast-2.4-beta4.tar.gz
Windows build :icecast_win32_2.4_beta4.zip


  • New features -
    • HTTP PUT support complete - Completed HTTP PUT support, send 100-continue-header, if client requests it. We need to adhere to HTTP1.1 here.

  • Bugfixes -
    • Fixed a memory leak. Lost headers of stream because of wrong ref counter in associated refbuf objects.
    • avoid memory leak in _parse_mount() when "type"-attribuet is set
    • Updated web interface to be more XHTML compliant.
    • Some fixes and improvements.

Posted January 23, 2014 by dm8tbr


Icecast Release 2.4-beta3

We are pleased to announce a third beta release of Icecast. A summary of the changes is listed below, for details please refere to the ChangeLog.
Please note that while Opus and WebM are considered production ready, there might be other problems in this release. We appreciate feedback and discussion on the icecast-dev mailing list!

Downloads:

Source :icecast-2.4-beta3.tar.gz


  • New features -
    • Default mount. - This allows you to define a global set of defaults for ALL mounts. This way you can use e.g. url-auth for sources and or listeners also for dynamically generated mounts.

  • Bugfixes -
    • Some fixes and improvements.

Posted April 6, 2013 by dm8tbr


Icecast Release 2.4-beta2

We are pleased to announce a second beta release of Icecast. A summary of the changes is listed below, for details please refere to the ChangeLog.
Please note that while Opus and WebM are considered production ready, there might be other problems in this release. We appreciate feedback and discussion on the icecast-dev mailing list!

Downloads:

Source :icecast-2.4-beta2.tar.gz


  • New features -
    • Now compiles for win32 using mingw
    • Added options "headers" and "header_prefix" to URL based listener auth.
    • Updated listener_remove handler:
      • added ip= and agent=,
      • Some cleanup && made code more uniform,
      • avoid int for size_t vars.
      • close #1422 #1422
    • Allow full URLs to be returned by the master server. close #1878
    • Highly experimental HTTP PUT support. ref #1812 We are handling it the same as we would handle a SOURCE request. Due to legacy code, sender MUST send proper content-type header, if content type is not audio/mpeg!
      Can be tested using real-time encoded output and piping it into
      | curl -u username:password -H "Content-type: application/ogg" -T - http://localhost:8000/mountname.ogg
      Note that this example has ZERO timing, so a simple 'cat *.ogg' will fail. Whatever feeds the pipe must do it at proper timing for real-time playback!

  • Bugfixes -
    • Send proper HTTP headers in responses to clients. close #1639, see #1870 and #1885.
    • corrected Content-Length: header in admin (raw) requests. Thanks to paluh for reporting.
    • Escape log entries in access log (close: #1916 some fixes still pending)

Posted March 30, 2013 by dm8tbr


Ices Release 2.0.2

After far a long time the icecast development team has released Ices version 2.0.2. Ices is a source client for Icecast streaming media server. It takes audio from one of the defined inputs and (re)encodes the audio for streaming to icecast for listeners to pick up.

  • New features -
    • Support for RoarAudio input

  • Bugfixes -
    • Updated Documentation (Closes: #1238)
    • Fixed double shout_close() (Closes: #720)
    • Reduced error to warning in case of duplicate serial number.
    • Fixed handling of <reconnectattempts> when set to zero (Closes: #735)
    • Did some code cleanup and hardening (Closes: #1795)
    • Enabled compiler warnings (Closes: #1796)
    • Added <retry-initial> (Closes: #994)
    • Updated handling of empty strings in config file (Closes: #1875)
    • Updated build system

Download Ices 2.0.2 from the Ices page.

Posted Aug 6, 2012 by dm8tbr


Icecast Release 2.4-beta

We are pleased to announce a beta release of Icecast. A summary of the changes is listed below
Please note that while Opus and WebM are considered production ready, there might be other problems in this release. We appreciate feedback and discussion on the icecast-dev mailing list!

Downloads:

Source :icecast-2.4-beta.tar.gz


  • New features -
    • Support for Ogg Opus streams
    • Support for WebM streams

  • Bugfixes -
    • Fixes for some race conditions
    • Allow (standard strftime(3)) %x codes in <dump-file>. Disabled for win32.
    • Dropped debian packaging directory as debian use their own.

Posted July 18, 2012 by dm8tbr


Icecast Release 2.3.3

We are pleased to announce the next release of Icecast. A summary of the changes are listed below

Downloads:

Source :icecast-2.3.3.tar.gz
Windows Setup :Not yet available. Will be provided ASAP.


  • Security - We fixed 3 security issues.
    • Improved HTTPS cipher handling and added support for chained certificates.
    • Allow the source password to be undefined. There was a corner case, where a default password would have taken effect. It would require the admin to remove the 'source-password' from the icecast config to take effect. Default configs ship with the password set, so this vulnerability doesn't trigger there.
    • Prevent error log injection of control characters by substituting non-alphanumeric characters with a '.' (CVE-2011-4612). Injection attempts can be identified via access.log, as that stores URL encoded requests. Investigation if further logging code needs to have sanitized output is ongoing.

  • Bugfixes - This is mostly a bug-fix release to flush out the accumulated, mostly small, fixes.
    • On-demand relaying - Reject listeners while reconnecting. Fix stats for relays without mount section.
    • Prevent too frequent YP updates.
    • Only allow raw metadata updates from same IP as connected source (unless user is admin). This addresses broken client software that issues updates without being connected.
    • Minor memory leaks
    • XSPF file installation
    • Fix case of global listeners count becoming out of sync.
    • Setting an interval of 0 in mount should disable shoutcast metadata inserts.

  • Authentication
    • Sources can now be authenticated via URL, like listeners. Post info is "action=stream_auth&mount=/stream&ip=IP&server=SERVER&port=8000&user=fred&pass=pass " As admin requests can come in for a stream (eg metadata update) these requests can be issued while stream is active. For these &admin=1 is added to the POST details.

  • XSL update
    • Automatically generate VCLT playlist like we do with M3U, the mountpoint extension is .vclt

  • Documentation updates.
Posted June 11, 2012 by dm8tbr


libShout Release 2.3.1

Added support for Opus, contributed by Greg Maxwell.

Download libshout 2.3.1 from the Download page.

Posted May 25, 2012 by dm8tbr


libShout Release 2.3.0

Added support for WebM streams, contributed by David Richards.

Posted Feb 2, 2012 by dm8tbr


Icecast Release 2.3.2

We are pleased to announce the next release of Icecast. A summary of the changes are listed below

Downloads:

Source :icecast-2.3.2.tar.gz
SRPM :icecast-2.3.2-0.src.rpm
Windows Setup :icecast2_win32_2.3.2_setup.exe


  • Character set support. Most non-Ogg streams (eg MP3) send metadata as Latin1 but it could be in other character sets. As icecast uses UTF-8, we need to convert to UTF-8 so that web pages and stream directories render correctly.
    • Allow a per-mount <charset> setting. For when source clients do not indicate which character set is in use.
    • a charset= parameter to the metadata request.
    • Default for non-Ogg content is now Latin-1 (aka ISO-8859-1). Ogg content still uses UTF-8.

  • Authentication
    • Each mountpoint authentication is isolated so one mount authentication does not slow another mountpoint authentication down.
    • XSL pages can require authentication.
    • Add some sanity checks for incorrect settings.

  • Listening socket update
    • Allow multiple ports to be allocated which allow multiple shoutcast source clients to stream on the same icecast instance.
    • No internal limit on the number of listen sockets that can be used.
    • Allow for a listen socket to be marked SSL capable. While any client could connect on these, the idea is really for /admin requests.
    • allow for a <listen-socket> to bind to ipv4 and ipv6

  • XSL update
    • XSL pages include an xspf link for non-auth streams.
    • XSL pages in both webroot and adminroot can take a mount= arg to limit which stats are transformed.
    • XSL files can specify the content-type to return to the client. It is no longer fixed to html

  • Updates for stream directory handling.
    • A stream is not registered with the directory until after the first minute has passed. some streams have been stuck in a connect/disconnect loop.
    • Increase retry time on failure, if the stream add is rejected then it will be down to a misconfiguration so a long retry delay is performed.
    • A YP server that is not responding is ignored for a while

  • Updates for Win32. Newer versions of dependency libs (libxml2/libxslt/libcurl etc). Buffer overflow fixes when many streams are active
  • Accept/Ban IP support. Now takes filenames for explicitly accepting or denying requests from specified IP addresses. Useful in cases where firewall access is not available. The files, if defined, are re-read automatically if updated.
  • A Mountpoint is exported to the slaves even if no mount section is defined for it. You can still use the hidden setting to prevent that from happening.
  • Relays handle redirection (HTTP 302) if one is received at startup.
  • Automatically generate XSPF playlist like we do with M3U, the mountpoint extension is .xspf
  • Header updates for proxy handling and certain clients like some shoutcast source clients and flash players.
  • Added Kate/Skeleton codecs to Ogg handler.
  • Various stats cleanups. Added some global stats (server ID, email contact etc).
  • The streamlist passed from master to slave had a limited length, so if there were many streams then some could of been left out.
  • Documentation updates.
  • Relay startup/shutdown is cleaner.
  • several build cleanups.
  • several resource leaks and race conditions fixed
Posted June 2, 2008 by karl


Icecast Release 2.3.1

Downloads:

Source :icecast-2.3.1.tar.gz
SRPM :icecast-2.3.1-0.src.rpm
Windows Setup :icecast2_win32_v2.3.1_setup.exe

New features for 2.3.1

new tag <logsize> in <logging> state the trigger size (in KB) for cycling the log files.



new tag <logarchive> in <logging> enable (1) if you want to use a timestamp for an extension when cycling logs.



Fixes for 2.3.1

Handling of certain shoutcast source clients is fixed, this typically affected NSV source clients



A race in source shutdown when listeners are authenticated could lead to server crash



An audio glitch was possible in playback of vorbis streams when a new logical stream started (eg metadata update).



stats speedup. Processing large numbers of stats was slow. Typically only seen when using lots of streams on the same server.



404 responses were being sent back in some places, now 403 is sent back.



Auth URL now handles the authentication to scripts better.

The order in which username/password are selected is

1. url is http://user:pass@host:port/....

2. <param name="username"> and <param name="password">

3. with listener_add/remove, listener supplied username/password is used.



A streams intro file can now be changed, using HUP, on active streams.



mount without a name crashed the server



Various documentation updates



Posted November 30, 2005 by oddsock




More Load Test Reports

We've done another round of load testing, this time going through a "large number of sources" test as well as a comparison test with Shoutcast.

All our load testing reports can be found Here

Posted November 14, 2005 by oddsock


Icecast Release 2.3.0

We are pleased to announce the next release of Icecast.

Downloads:

Source :icecast-2.3.0.tar.gz
SRPM :icecast-2.3.0-0.src.rpm
Windows Setup :icecast2_win32_v2.3.0_setup.exe
please note that it may take a bit for the mirrors to propagate.

New features for 2.3.0

Streaming support for ogg speex, ogg flac, ogg midi





intro file support - per mount settable

Intro files will play when a listener first connects to a stream. This is designed for station jingles and the like. If you don't broadcast in ogg vorbis, you must make sure the bitrate/samplerate/number of channels match up to your stream.



on-demand relays, global and per-relay settable

On demand relays only connect to the relayed content when there are listeners attached to the relay. This can save bandwidth in certain cases.



fallback to file, extends on the intro file handling.

With this feature, you can specify a "fallback file" which will be played in a loop and sent your currently connected listeners in the event of a source client disconnect. This means your listeners stay connected while you fix your disconnect problem. Same rules regarding bitrate/samplerate/ number of channels apply as with intro files.



new mount-level settings

1. public, type/subtype, genre settings, stream description, stream url, stream name, bitrate (override what is sent from the source client)

2. mp3 metadata interval

3. on-[dis]connect scripts can be stated per-mount, invoked at source start/stop and take 1 arg which is the mountpoint.





New URL listener authenticator.

This delegates your listener authorization to an external application. URL calls are made on listener connect/disconnect as well as source connect/disconnect. It is meant for large broadcasters who have existing authentication systems that need to be integrated into. Included is an example php-based application that can be used in conjunction with the url authenticator to manage a simple subscription-based broadcast.



HTPasswd authenticator uses in-memory structures now.





On demand files now can be fed through an authenticator





Update to admin/web xslt interface





Icecast can now be installed as a win32 service





Fixes for 2.3.0

* real/helix works

* win32 access log correct

* stats client is stable now (curl -X STATS http://admin@host:port/)

* show mountpoints on stats that are inactive but have an active fallback

* more updates over HUP possible

* improved stability under heavy load

* moving clients will no longer sometimes deadlock the server

* avoid small writes to reduce TCP overhead.

Posted September 23, 2005 by oddsock


Load Test Report

We've done a load test of our soon-to-be released Icecast 2.3 to hopefully answer some of the questions that have popped up recently about Icecast's ability to work in high traffic situtations.

This report can be found Here

Posted September 22, 2005 by oddsock


Icecast Release 2.2.0

On the heels of version 2.1.0, we are releasing 2.2.0 with some new key features.

New features for 2.2.0 (in no particular order)

Theora Video support

Icecast now supports video streaming via theora. Currently, we require the latest (alpha 4) version of libtheora. This is an optional compile, so if you don't have theora then icecast will safely ignore it



Shoutcast style source client support

Icecast now supports the connection protocol used by the Shoutcast DSP source client. This is the same connection protocol used by their NSV encoding tools. This means that not only can you use the Shoutcast DSP to stream to icecast, but that you can also stream NSV via their tools.



AAC is added as a supported streaming format

Not too many source clients support streaming in this format, but we support it.



Cluster password

Now you can specify a cluster password as a option in the config. This will allow you to cluster multiple servers/mounts into a single listing on the stream directory. Note that this is different than "grouping" which groups together streams coming from the same physical IP and with the same stream name. Clusters are meant for relays of the same stream and will only be listed *once* in the stream directory. When a listener tunes into a cluster, they will be served an m3u file with all the clusters for that stream.



Playlist Log

This is an option setting that will create an audit trail of metadata that comes through icecast. It is a single file that contains information for all mountpoints.



Range Support for static files

We now support seeking in files served off the icecast fserve.



Metadata Update via Admin

We now support metadata updates via the admin interface for both MP3 AND Ogg Vorbis streams.



Per mount hidden stats and YP prevention

You many now indicate certains mounts to be excluded (i.e. hidden) from the main status.xsl page. This is useful when using local private relays. You can also override the YP setting (as in disable) on a per-mount basis. Also useful for local private relays.



Multiple example config files

We now have multiple config files for you to use as a base. A "simple" one for quick-start, and a more detailed "advanced" one with all the features, as well as a "shoutcast compatable" one, which shows how you'd config for using the shoutcast DSP.



Relay user/pass

You can now specify authentication used by a relay. This is for the case where you have listener authentication enabled for a mountpoint, and want to connect a relay to it.



Download Icecast 2.2.0 from the Download page.

Posted December 21, 2004 by oddsock


Icecast Release 2.1.0

After about 8 months in development, version 2.1.0 of icecast has been released.

New features for 2.1 (in no particular order)

Listener Authentication

Icecast now supports listener authentication. This provides a mechanism for creating/maintaining users and passwords for listeners. Currently, we only have implemented a simple, file-based storage for users and passwords. New authenticators are on the horizon (such as URL-based or possibly MySQL based) New admin pages were also added for the maintenance of users/passwords. Please check the docs for a more detailed description of this new feature.



Multi-Level Fallbacks

Multi-level fallbacks allow for specifications of a series of fallback mounts that you can use to automatically move listeners in the event of a source being disconnected. In the event of new listeners attaching to the source stream that has been disconnected, they are routed to the fallback mount (if specified). Icecast now has fallback-override capability as well which means that in the event of a source stream failure, listeners are moved to the fallback mount, and then automatically recaptured when the original source stream returns.



Burst-On-Connect

This is an new, optional config setting which will send a initial burst of data to connecting listeners. This has the effect of reducing (significantly) the startup buffer latency from the end-user perspective. This option is enabled by default.



New Enhancements for 2.1

Update to admin interface

This interface has been cleaned up quite a bit and made a bit nicer.



Rewrite of the YP listing code

The icecast yp code has received a complete overhaul by karl, and it's a much more stable and failure-resistant implementation.



Lots and lots of bugs fixed

Check the ChangeLog for a complete list of these...



Download Icecast 2.1.0 from the Download page.

Posted November 4, 2004 by oddsock


Icecast Release 2.0.2

This patch release fixes an exploit found by Luigi Auriemma. We recommend that all users currently upgrade to this patch release.

Download Icecast 2.0.2 from the Download page.

Posted September 24, 2004 by oddsock


Icecast Release 2.0.1

This patch release fixes a overflow buffer which can cause server crashes under certain circumstances. This release contains ONLY the fix for this issue. We are still targetting a 2.1.0 release with new features and functionality in the near future.

Download Icecast 2.0.1 from the Download page.

Posted May 12, 2004 by oddsock


Ices Release 2.0.0

After far too long in development and testing, the icecast development team has released Ices version 2.0.0. Ices is a source client for Icecast streaming media server. It takes audio from one of the defined inputs and (re)encodes the audio for streaming to icecast for listeners to pick up.

Download Ices 2.0.0 from the Ices page.

Posted Mar 11, 2004 by karl


Icecast Releases 2.0.0

After years in development and years in alpha testing, The icecast development team has released version 2.0.0 of its streaming media server. Icecast2 supports Ogg Vorbis and MP3 streaming and has many features and functions you would expect from a world class streaming media server.

There are more things to come from the icecast development team, and we have many new features just waiting to be implemented.

Download 2.0.0 from the main download page.

In addition to the new release, we have re-vamped the icecast.org website to hopefully make things easier to access and to get at the information you need faster. Please let us know what you think.

Posted Jan 7, 2004 by oddsock