Alluvium (peercasting)
# Alluvium (peercasting)

Alluvium is open source peercasting software developed by the Foundation for Decentralization Research, first released in 2003. It comprises three components, Core, Media Player, and Server. Alluvium allows video and audio programming to be broadcast over the Internet using swarming technology. It is powered by Onion Networks' Swarmcast, and is notable for its incorporation of server-side time-based playlists, and client software which examines those playlists and begins streaming content from the server(and available peers) per that schedule, simplifying the creation of continuous-broadcast video and audio.

## Technical overview

Alluvium is a technology for low-cost streaming media broadcasts. It differs in method from server-to-client streaming servers such as icecast, Real Server, and QuickTime Streaming Server. It requires only a standard web server and client software. No additional modules or CGI scripts are required for its operation.

### Requirements

**Web Server**

The web server handles static files: content, and the playlist(s). The Alluvium playlist file is a text file, residing on the web server, written in the Alluvium playlist format, which is based on the RSS 1.0 news format. The playlist file specifies the play order of URLs that can be hosted anywhere on the web. All RSS tags used are standard tags from existing schemas. An Alluvium playlist file can be generated using the Broadcaster playlist generation tool.

The web server is configured to deliver Alluvium playlists with MIME type Content-Type: application/x-alluvium for files with the extension .rss

**Client software**

The client software, running on each listener's computer, scans through a playlist file until it finds an entry which is scheduled for the current time, then fetches that media. Files are downloaded using the Open Content Network (OCN) utilizing Swarmcast swarming download technology. After the first file download has started, the client immediately sends it to a locally generated icecast-compatible stream. The client's media player can then be directed to the local stream and listen to it exactly as though it was a normal icecast stream.

### Swarming download operation

The client software first checks with the OCN gateway, which stores special headers for all of the files being distributed through the OCN. If the gateway doesn't know about a particular URL, it will fetch the necessary information from the URL and then cache it. The information stored by the gateway contains information needed to swarm download the file such as a hashtree.

Among the information obtained by the client from the gateway is a list of addresses for other clients who are also downloading or have recently downloaded the file. Clients download multiple parts of the file simultaneously from each other. When a certain part of the file is unavailable from other clients, a client will fetch it from the original source URL and then share that part with the other clients, minimizing the load on the server which stores the content files. The majority of data transfer happens between peers. Priority for downloading is given to chunks earlier in the file, so that file playback can happen immediately.

This swarming architecture offers savings in bandwidth and processor usage. Because most transfers happen between listeners, the source server has much less load. Also, unlike icecast, servers which serve files for Alluvium stations do not decode the files, so broadcasts can be done from low-cost, obsolete hardware with sufficiently fast I/O and network speeds.

## History

Alluvium was developed as part of the Tristero project, hosted at SourceForge, by Brandon Wiley. The source code, still in beta, is available as part of the Tristero project at tristero.cvs.sourceforge.net

Alluvium was unveiled at CodeCon 2 in February 2003, generating interest in the peer-to-peer, open source, and streaming radio communities. In 2004, CodeCon 3 was broadcast live using Alluvium 2.0.

Alluvium was further developed and incorporated into software developed at and named after ActLab.TV, a peercasted TV and radio service operated by the ActLab at the University of Texas at Austin.

