Department of Informatics - Communication Systems Group

P2P Streaming Application

Description

This application is the result of a P2P challenge performed by 5 different groups in the scope of a lecture on Peer-to-Peer Systems and Applications during summer term 2006 at the University of Zurich.

The goal of this challenge was to build a P2P application, that transports an MPEG Transport Stream (TS) from a streaming server to several clients via the UDP protocol (cf. Figure 1). The application was used to broadcast the FIFA World Cup 2006 as live stream to the students participating in the challenge.

p2papp.gif

Figure 1: P2P Streaming Application

The application had to meet the following requirements:

More information about the challenge task can be found at http://www.csg.uzh.ch/teaching/ss06/p2p/challenge (in german).

Software Requirements

The application has been implemented in Java. It requires Java version 1.4.2 (JDK) or higher for compilation*. It depends on the FreePastry 1.4.4 library which is included in the application source package and needs to be put on the class path. The application may easily be compiled using Eclipse or any other development environment.

* Package csg.p2p.challenge.group3 requires Java 1.5

Furthermore, the application uses VLC as streaming server as well as streaming client to display the MPEG stream locally. VLC is a free media player, which is able to stream and receive several multimedia formats. The layer model in Figure 2 shows, how the UDP stream is distributed through the P2P application and received with VLC locally. In principle, other UDP-enabled streaming engines may be used, too.

layers.gif

Figure 2: Layer Model

Download

Documentation

Refer to the README file. Further documentation about the different solutions can be found in the doc folder of the source distribution.

License

Refer to the LICENSE file.

See AUTHORS for the full list of authors for the different P2P challenge groups.

top
Mobile View | Classic View