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.
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).
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
* 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,
Figure 2: Layer Model
Refer to the README (TXT, 3 KB) file. Further documentation about
the different solutions can be found in the doc folder of the source