Chapter 1. What's FreeCast

Table of Contents

Architecture overview
Classic broadcast
Peer-to-peer broadcast
Key concepts
FreeCast

FreeCast streams content by using a peer-to-peer network model. It allows to broadcast a stream to a large number of listeners from a simple DSL connection. FreeCast offers the possibility to broadcast over the Internet without a strict limit of listener count. You can share with the largest number without the economic cost of a large bandwidth.

Visit the FreeCast website: http://www.freecast.org/

Architecture overview

To understand how to use and deploy a FreeCast network, you need to understand a few key concepts. A FreeCast network is able to broadcast a stream, which can contain audio and/or video contents. The stream won't be modified by the FreeCast broadcasting. The way and tools used to create and play the stream are near the same than in a classic broadcast.

Classic broadcast

Before explaining the the concept of peer-to-peer broadcast, let's look at what is a classic broadcast. In a classic broadcast, there are two roles: server and client. The server has the information to be streamed available and sends them directly to each client. That makes things simple for the client, which easily connects and retrieves information with the URL of the server. When the server bandwidth is wide enough, this classic broadcast performs well. The quality of service depends mostly of the Internet access quality of the client.

Things become more difficult for the server as the client count grows. The server must send the same information to each client, and all these data must be sent with the single Internet connection of the server. As such, the needed infrastructure becomes quickly expansive. As an example, if you want to accept up to 50 listeners with a musical stream (typically encoded at 128kbits), you need an Internet connection with an upload bandwidth larger than 6.25 Mbits. As a comparison, a classic DSL access provides an upload bandwidth of 0.5Mbits ...

Peer-to-peer broadcast

The peer-to-peer broadcast is based on a simple question: why clients which are retrieving (and listening to) the stream should stay passive ? Nowadays, most of the stream listeners have a DSL access. Instead of concentrating all clients on the server, it would be better if the clients which are listening to the stream relay it to a few other clients. This is what is achieved with a peer-to-peer broadcast.

This collaborative approach has evident benefits. From the broadcaster side, the server bandwidth is less loaded and the client count is not limited. For instance, a broadcast can be started from a simple DSL access. The streaming infrastructure cost can be reduced in a significant manner. From the client side, benefits may be indirect but not null, because if the peer-to-peer model makes things easier for the broadcaster, it allows the clients to find more streams, more choices, less advertising. A collaborative approach can be initiated between broadcaster and clients: clients can support the broadcaster by relaying the stream between their listenings.

Key concepts

A FreeCast network is composed of a tracker, a root node and nodes.

Architecture of a FreeCast network

Node

In a FreeCast network, the stream transits via one or more nodes. Each node can receive, use (play) and send stream information (packets). All the nodes of a given FreeCast network register themselves to the same tracker.

Root Node

The root node creates the FreeCast stream (a sequence of packets) from a classic Ogg stream. The following nodes receive directly or indirectly the packets created by the root node.

Tracker

The tracker has an overview of the network. A FreeCast node can only participate to a FreeCast network once it is registered to the tracker of this network. All the nodes of the network send information to the tracker periodically. The nodes use the tracker to obtain references to other nodes.