streamers-build @ 0138b109
Name | Size | Revision | Age | Author | Comment |
---|---|---|---|---|---|
Installer | ba24c59d | about 7 years | Luca Baldesi | change default launcher for Windowns in order t... | |
THIRDPARTY-LIBS | 3eb0db69 | over 6 years | Davide Kirchner | Fixed Makefiles for correct pjproject linking | |
scripts | 3fd0b87a | over 7 years | Luca Baldesi | add execution scripts for Windows and modified ... | |
.gitignore | 188 Bytes | b54320b3 | almost 7 years | Luca Baldesi | add RTP GRAPES support |
.gitmodules | 717 Bytes | 0138b109 | almost 6 years | Luca Baldesi | update gitmodules to work with ans |
ChunkerPlayer | 0 Bytes | fcd86a10 | almost 7 years | Luca Baldesi | add Streamers commit to solve the Mac execution... |
Makefile | 9.08 KB | 3eb0db69 | over 6 years | Davide Kirchner | Fixed Makefiles for correct pjproject linking |
README | 3.65 KB | 8441e956 | over 9 years | Csaba Kiraly | makefile: change default target to dir, create ... |
Streamers | 0 Bytes | a187aec6 | almost 7 years | Luca Baldesi | switch to devel branch of Streamers, with refac... |
channels.conf | 1.56 KB | cefffaee | over 9 years | Csaba Kiraly | channels.conf: changing Iris test channel to H.... |
description-pak | 408 Bytes | 67733da4 | over 9 years | Csaba Kiraly | adding checkinstall package description file |
setenv-gcc32 | 259 Bytes | 986d5a5a | almost 7 years | Luca Baldesi | use push strategy for the source in order to r... |
setenv-mingw | 736 Bytes | 3db6932f | over 8 years | Csaba Kiraly | mingw32: add some autodetection code for the mi... |
Latest revisions
View all revisions | View revisions
README
This is PeerStreamer, a P2P Media Streaming framework written in C.
Quick Start
===========
Building
--------
Run "make". A new folder will be created with the name
PeerStreamer-. You will find all the executables in this
folder.
If you want to distribute binaries, you can run "make pack" to create
PeerStreamer-.tgz and PeerStreamer--stripped.tgz.
See the built-in help ("./streamer -h") for usage examples and options.
Running a source
----------------
To run a source, the only thing you need is a media stream.
If the stream is a video file, run is as e.g.
./source.sh -f video.avi
If the stream is "live", coming from a device with its own timing, run
it with the "-l" parameter as e.g.
./source.sh -l -f /dev/dvb/adapter0/dvr0
For more options, see the help
./source.sh -h
Create a channels.conf file, distribute it to the users, and enjoy. As
an alternative, you can also send the channels.conf to peerstreamer.org
for inclusion in the channel list.
Running a peer
--------------
Start the player with
./player.sh
You can also use your custom channels.conf. In this case, copy the
channels.conf in this folder, and run the player as follows:
./chunker_player
Detailed instructions
=====================
PeerStreamer can be compiled in several ways, e.g. in a simple
configuration that creates only one binary. It can also be compiled in
more complex versions that include a streamer linked with a number of
external libraries, as well as a custom made player application.
Below we provide instructions for two versions, the simplest case and
the most complex one. The first one is useful for developers to
understand the system. The second one is more useful as an end-user
version.
Building and running the simple version (GRAPES I/O)
----------------------------------------------------
Compilation
- - - - - -
Create executables by running:
make simple
Running the source
- - - - - - - - -
1, Start the source peer in one shell:
Streamers/streamer-grapes -f ~/video/big_bunny_orig/big_buck_bunny_480p_stereo.avi -m 3
or
ffmpeg -i ~/video/myvideo.avi -f nut -vcodec mpeg4 -b 500000 -o /dev/stdout | Streamers/streamer-grapes -f /dev/stdin -m 3
Running a peer
- - - - - - -
Building and running the complex version (chunkstream I/O)
----------------------------------------------------------
The complex version contains a separate chunker and player application.
It also integrates with a number of external libraries, providing
additional functionalities and performance.
Compilation
- - - - - -
Create executables by running:
make
Running the source
- - - - - - - - -
The easiest way to start a source is to use the provided wrapper script:
source.sh. See the Quick Start instructions for examples.
If more control is needed, follow this procedure:
1, Start the source peer in one shell:
Streamers/streamer-ml-monl-chunkstream-static -f tcp://127.0.0.1:7777 -m 3
2, In another shell, go to the Chunker's folder
cd ChunkerPlayer/chunker_streamer
3, Start the chunker (after the source peer has been started!):
./chunker_streamer -i ~/video/big_bunny_orig/big_buck_bunny_480p_stereo.avi -a 128000 -v 500000
or
./chunker_streamer -i /dev/stdin -l -a 128000 -v 500000
Running a peer
- - - - - - -
The only think a peers needs to run is a channel list. This can either
come from peerstreamer.org, or you can create and use your own.
In the first case, just start the included wrapper script:
./player.sh
This will download the most recent channel list and start playing.
You can also create your own channel list (see the provided example
channels.conf), and distribute it with the player. In this case, start
the player with the following command:
./chunker_player
Also available in: Atom