Skip navigation.


We provide binaries for Linux, Windows and OS X, both as installers (for easier management) and as stand-alone versions (in tgz or zip if you do not trust enough to install). Source code is also available with automated compilation. Note that our main development platform is Linux, both the Windows and the OS X versions have been derived from this and therefore the GUI has some small glitches. In particular, the OS X version produces some flickering on some system. We have traced this back to problems with SDL library, but we could yet find the time to correct it.


Operating System Stable 1.2.0 Testing
Installer Binary Installer Binary
Linux Debian/Ubuntu 32bit DEB tgz DEB tgz
64bit DEB DEB
Fedora/RedHat 32bit RPM RPM
64bit RPM RPM
Windows Xp, Vista, 7 32/64bit Installer zip Installer zip
MAC OSX Snow Leopard, Lion DMG Installer tgz DMG Installer tgz

PeerStreamer PPA (for Linux Debian/Ubuntu)

PeerStreamer is now available on Personal Package Archive.
Please add one of the following lines according to your distribution to your /etc/apt/sources.list:

deb raring universe
deb quantal universe
deb precise universe
deb oneiric universe
deb lucid universe
deb maverick universe

deb squeeze main
deb lenny main

To add the public key

$ gpg --keyserver --recv-key  E9337DDBF4B63980
$ gpg -a --export E9337DDBF4B63980 | sudo apt-key add - 

The key fingerprint is

Key fingerprint = DFFE C642 56D6 EE54 9478  B61D E933 7DDB F4B6 3980

To install PeerStreamer

sudo apt-get update
sudo apt-get install peerstreamer


After installing the package, start the application from the menu or by running peerstreamer from a shell (on Linux).

zip or tgz

Just unzip the downloaded package and start (for Linux and Mac) or peerstreamer.bat (for Windows).

Building from source

This compilation is only for Linux based systems and for OS X. For creating Windows binaries, see details at the development page.

Sources are maintained in a git repository. Follow the instructions below to build the application.

git clone
cd Streamers-build
# read the README file!

For prerequisites and more detailed instructions, see the development page.
Note that on OS X, the player should be started with the chunker_player binary.

Using the Player

Although our main development focus is the streaming engine, we have developed a simple player application as well. The current version is rather simple: you can cycle through the available channels, set the screen size and enjoy the show.


Below, you can see a screenshot with buttons explained:

PeerStreamer Player controls

Keyboard shortcuts

Key Action
up/down arrow change channel up/down
left/right arrow increase/decrease playback delay by 0.1 sec
r change aspect ratio (original, 4:3, 16:9)
f toggle full-screen
Esc exit full-screen

Issues and Frequently Asked Questions

Executables are not working on Windows Vista/7

You should set the executables in XP compatibility mode. Just right-click on the files terminating in .exe and, in the properties tab, check the compatibility with Windows XP.

Sound is choppy in the Linux version

Most probably, you have a system that uses the pulseaudio driver. The following solutions were reported to work:

SDL_AUDIODRIVER=esd peerstreamer [OPTIONS]
SDL_AUDIODRIVER=dsp peerstreamer [OPTIONS]

See for more details.

Audio is out-of-sync

Again, this is most probably a problem with the SDL audio driver. The following solutions could work in the Linux version:

SDL_AUDIODRIVER=esd peerstreamer [OPTIONS]
SDL_AUDIODRIVER=dsp peerstreamer [OPTIONS]

See for more details.

How can I contribute?

If you are interested in development, consult our development page

If you are involved in P2P streaming related research, check our list of related papers and consult our research page

Is there a mailing list for question, discussions, ideas?

Yes, join the mailing list here

What are the network requirements?

PeerStreamer runs over UDP. It should work behind a NAT. Below is you find the set of ports that are used and that should be opened.

  • UDP 3478, 3479: STUN ports used to discover the presence of a NAT
  • UDP 6100-6200: used for P2P streaming for different channels
  • TCP 9832: used to report statistics to the repository

Downlink available bandwidth should be 10% higher than the actual stream rate. Uplink as low as 100kb/s should be enough.

About the GUI

  • Aspect ratio is wrong: you can press R to switch from 4:3 to 16:9 aspect ratio
  • text is flashing on my OSX: Unfortunately this is a bug related to SDL support under OSX, We are investigating it
  • Audio and video are out-of-sync: Keeping audio and video in perfect sync is complicated under SDL. We are still looking for a perfect solution

Compilation from source stops with a git clone error

Try cloning the repositories first with

git submodule update

and then run make again. If the problem persists, please let us know!