Use of VideoLAN as an Origin encoder for OpenCDN
required to equip nodes with a patched
version
of Apple's Darwin streaming server. The latest
stable
release
(5.5.5) of Darwin has
adopted the patch,
so now you can use it.

Status

This is an abandoned effort, and is on-line only for historical
purposes. No more development or maintenance are planned.
Actually I believe that media distribution by an
ad-hoc
topology is feasible only if you own (or rent) a true CDN. If
distribution is left to viewers, a peer
to peer approach would be much better, as done by peerstreamer.org, and my new
contribution to the free live Internet TV is named Kitchen TV.

About

OpenCDN aims at the development of an application-level Content
Delivery Network, suitable for
replication and splitting of live and recorded multimedia content.

It is coded in Perl, and interfaces some Relay
technology (which splits incoming media packets for each
downstream flow) by a control plane, which directs the content delivery
process.
Media distribution is hierarchically arranged among
participating Nodes, coordinated by a centralized
control unit named Request Routing and Distribution Manager
(RRDM). Content providers can
register metadata about their contribution,
produced by an Origin entity, and to be distributed by OpenCDN.
Control communication in between RRDM, Nodes, and Origins, is performed
by XML-RPC
calls, and status probes are sent via UDP.

Provided that ISPs would like to host a sufficient number of Relay
nodes
over the net, media can be
efficiently distributed to a very large number of clients, without
severe network and server requirements, actually performing an Application
Level Multicast content routing. In particular, first
and last mile will be crossed only once.

The code is modular and support can be easy added for different
Relay technologies: the original development was based on Darwin
Streaming Server by Apple, and then it has been adapted to Helix
Universal Server by Real. Actually, we are working toward
exploiting the VideoLAN
capabilities. Use of WM servers should also be possible, by writing a
new Adaptation Layer. There are a lot of Windows
people out there, why do not contribute to development ?

You can experiment operations by visiting an announcement
page, asking for some content, wait for distribution set-up,
and pick up content from the nearest node. Also, you can contribute as
a content provider, or as a redistribution node.