Statistics
| Branch: | Revision:

pstreamer / README.md @ b66e9238

History | View | Annotate | Download (1.81 KB)

1
======PStreamer======
2
PStreamer[1] is a P2P real-time content distribution platform.
3
It is built on top of the GRAPES library [2] which is a mandatory dependency.
4
You can compile the vanilla executable or the use the libpstreamer library to easily code your own streaming platform.
5

    
6
===Compilation===
7
In order to compile you need the GRAPES library [3].
8
You can specify the GRAPES folder path using an environment variable.
9

    
10
To obtain both the PStreamer library and the executable just launch
11
$> make
12

    
13
To turn on all the debugging feature, set the DEBUG environment variable:
14
$> DEBUG=1 make
15

    
16
To turn on only the chunk and signalling debugging function use the CFLAGS:
17
$> CFLAGS="-DLOG_CHUNK -DLOG_SIGNAL" make
18

    
19
===Test===
20
In the "test" folder are stored the test files. To run them and check code consistency run:
21
$> cd test/ && make && ./run_tests.sh
22

    
23
===Example===
24
Here it is a simple example using the executable and the RTP chunkiser; you need an RTP streaming source we suppose it is streaming using the ports 4000,4001,4002,4003;
25
The following will start a PStreamer source peer, getting the RTP flow from the RTP source and serving it to the rest of the P2P net through port 3999
26
$> ./pstreamer -p 0 -c "iface=lo,port=3999,chunkiser=rtp,base=4000,addr=127.0.0.1,max_delay_ms=50"
27
The following will start a PStreamer peer, which gets the source peer flow from port 4999 and will re-distribute an RTP flow using the ports 5000,5001,5002,5003
28
$> ./pstreamer -p 3999 -c "iface=lo,port=4999,dechunkiser=rtp,base=5000,addr=127.0.0.1"
29

    
30

    
31
===References==
32
[1] http://peerstreamer.org
33
[2] Abeni, Luca, et al. "Design and implementation of a generic library for P2P streaming." Proceedings of the 2010 ACM workshop on Advanced video streaming techniques for peer-to-peer networks and social networking. ACM, 2010
34
[3] https://ans.disi.unitn.it/redmine/grapes.git