Tuesday, November 28, 2006

Peer to Peer Internet Video Broadcasting

Unlike standard television broadcasting, there are a limited number of viewers that an Internet television station can accommodate. These limitations are determined by the amount of bandwidth the network media server has available. A popular Internet television station would require large amounts of bandwidth to provide the broadcast to a large viewing audience.

Peer to Peer (Commonly referred to as P2P) broadcasting allows viewers using specialized software to re-distribute the media broadcasts. This eliminates the need to utilize costly centralized media servers to distribute the broadcast and results in cost savings for bandwidth consumption.

Any size business or group can establish an effective media broadcast presence without the huge costs normally associated with Internet broadcasting. Using this method, only a few data streams are required for a global Internet broadcast distribution.

P2P Internet broadcasting provides extremely bandwidth friendly results and can support a virtually unlimited number of users. This method also provides effective security against Denial Of Service (DOS) attacks which can cripple a centralized server network architecture.

There are both commercial and non commercial options that offer P2P broadcast ability for Internet television.

This article will cover free open source software.

Open source is an initiative that allows people to have access to the source code of software. This is the actual nuts and bolts that allow the software to operate. This initiative also allows people the ability to redistribute and or modify the source code thus allowing improvements and adaptations of the software.

Peercast

Peercast is a P2P media broadcast application that is available for the Windows, Unix and Mac operating systems. It is compatible with Shoutcast, Icecast and Windows Media streaming protocols.

The software was originally designed to use Gnutella as a basis for broadcast distribution. The software now uses a hierarchal topology for media broadcast distribution. This new method provides greater scalability and more data organization.

Broadcast station data is collected by the YP directory. This data is continuously updated by individual broadcasters. Listeners / viewers (client software) provide the connection points between themselves, the broadcasters and others.

Each broadcaster has the option of including a digital signature to enable media broadcast authentication. This will prevent their broadcasts from being hijacked and replaced with alternative material.

The following video codecs are supported by Peercast: VP3, VP6, Theora and WMV. It can also be used for audio broadcasting and can be configured to use several audio codecs. The software can be used to broadcast individual static media files as well.

Hardware network routers use Network Address Translation to provide internal IP addresses for computers within that network. Traffic flowing through NAT must be converted from internal IP addresses to external IP addresses. P2P traffic routing through NAT usually requires software port forwarding to bypass NAT. Peercast is NAT friendly software and requires no special port forwarding.

A plug-in is available for the popular Winamp media player. (Winamp versions 2.x and 5.x) This can be installed and used by clients to easily receive a Peercast station.

The Peercast network provides a real time online station directory of current broadcasters. (http://yp.peercast.org)

The main Peercast client must be installed to broadcast using this P2P network.

Additional resources

Peercast Frequently Asked Questions: (http://www.peercast.org/wiki/wakka.php?wakka=FrequentlyAskedQuestions)

Peercast Help : (http://www.peercast.org/help.php)

Peercast Community Forum : (http://www.peercast.org/forum)

FreeCast

FreeCast is a Java P2P broadcast application. Users must install the Java Runtime Environment, which is available for the Windows, Unix and Mac operating systems. It is compatible with the Icecast streaming protocol.

The software has a internal audio and video player applet that can play both the Ogg Vorbis open source audio codec, and the Theora open source video codec. It can also be configured to use the Java Web Start feature for automatically loading and launching. This enables a "one click" approach for web based end users.

Each broadcaster has the option of including a digital signature to enable media broadcast authentication. This will prevent their broadcasts from being hijacked and replaced with alternative material.

FreeCast uses a hierarchal method of media broadcast distribution. Each broadcaster acts as a central node with listeners / viewers receiving data from them and relaying to other listeners / viewers.

Icecast and JRoar media streaming server software can be used with FreeCast. In addition, Ezstream can be used with both JRoar and Icecast to source both Ogg Vorbis and Theora files. This software is a command line utility and is available for Windows and Unix operating systems.

FreeCast is continuing software development that will allow its deployment across networks that interact with network routers that utilize Network Address Translation (NAT). Port forwarding is currently required to accommodate NAT routers.

A real time station directory is currently not available or supported.