Statistics
| Branch: | Revision:

streamers @ 5950e362

Name Size Revision Age Author Comment
  Chunkiser 69ae8acb over 11 years Luca Abeni Add support for missing PTSs
Makefile 2.9 KB 18b3d383 over 11 years Csaba Kiraly add monl to the executable name to differentiat...
README.txt 3.16 KB 21ca4b73 almost 12 years Luca Baldesi instructions updated git-svn-id: https://repos...
channel.c 207 Bytes 5950e362 over 11 years Csaba Kiraly adding channel name support
channel.h 108 Bytes 5950e362 over 11 years Csaba Kiraly adding channel name support
chunk_signaling.c 7.31 KB fcb5c29b over 11 years Csaba Kiraly moving peerset related stuff to topology.c
chunk_signaling.h 1.36 KB fcb5c29b over 11 years Csaba Kiraly moving peerset related stuff to topology.c
chunkbuffer_helper.h 609 Bytes 92283824 almost 12 years Csaba Kiraly added chunkbuffer_helper to manage cb_ chb rena...
chunklock.c 1.82 KB f909516a almost 12 years Csaba Kiraly nodeID_free changed to new nodeid_free
chunklock.h 195 Bytes abd2ef3b almost 12 years Csaba Kiraly moved chunk_lock in separate file
dbg.c 351 Bytes b58cb76a over 11 years Csaba Kiraly improved debug output
dbg.h 293 Bytes b58cb76a over 11 years Csaba Kiraly improved debug output
gpl-3.0.txt 34.3 KB 8fed7779 almost 12 years Luca Baldesi added GPL git-svn-id: https://repository.napa-...
input-stream-dummy.c 1.46 KB 421c2dc2 over 11 years Luca Abeni Move payload handling in a proper header file
input-stream.h 319 Bytes 30a6e902 almost 12 years Csaba Kiraly configurable loop support Conflicts: loop.c ...
input.c 1.46 KB ec8681cf over 11 years Csaba Kiraly fix an error in debug output
input.h 262 Bytes 30a6e902 almost 12 years Csaba Kiraly configurable loop support Conflicts: loop.c ...
loop-mt.c 5.08 KB fcb5c29b over 11 years Csaba Kiraly moving peerset related stuff to topology.c
loop.c 3.87 KB 08495d05 over 11 years Csaba Kiraly upgrading to the new net-helper interface, that...
loop.h 197 Bytes 30a6e902 almost 12 years Csaba Kiraly configurable loop support Conflicts: loop.c ...
measures.c 8.1 KB db64e6b0 over 11 years Csaba Kiraly changing channel name
measures.h 489 Bytes d4eb745c over 11 years Csaba Kiraly adding average_lossrate calculation
net_helpers.c 3.71 KB 919f2faa over 11 years Csaba Kiraly removed hostname based IP autodetect
net_helpers.h 135 Bytes b3e7f2cb over 11 years Csaba Kiraly adding ip address autodetection
out-stream-avf.c 4 KB 0c46c105 over 11 years Csaba Kiraly update overflow handling code to 32bit wire tim...
out-stream-dummy.c 1.1 KB 4f7ec627 over 11 years Luca Abeni Use the new payload stuff in the dummy out module
out-stream.h 58 Bytes 54b631d9 almost 12 years Luca Abeni Split the real chunk output out of output.c (pr...
output.c 3.42 KB 5fc04950 over 11 years Csaba Kiraly compile also without MONL
output.h 148 Bytes ea78ed9a over 11 years Csaba Kiraly handle some compile warnings
payload.h 1.56 KB ff4d09f3 over 11 years Csaba Kiraly change to 64 bit timestamps to interface with a...
streamer.c 2.86 KB c3d27400 over 11 years Csaba Kiraly upgrading to the new top interface that allows ...
streaming.c 10.6 KB cff93a07 over 11 years Csaba Kiraly fix compilation without MONL with DEBUG
streaming.h 562 Bytes fcb5c29b over 11 years Csaba Kiraly moving peerset related stuff to topology.c
topology.c 2.76 KB d78e9c6a over 11 years Csaba Kiraly limit peerset size on a simplistic way
topology.h 201 Bytes fcb5c29b over 11 years Csaba Kiraly moving peerset related stuff to topology.c
utils.mak 267 Bytes ecf6e64a almost 12 years Luca Abeni Better selection of compile options and librari...

Latest revisions

# Date Author Comment
5950e362 05/06/2010 09:57 PM Csaba Kiraly

adding channel name support

d78e9c6a 05/06/2010 09:57 PM Csaba Kiraly

limit peerset size on a simplistic way

cff93a07 05/06/2010 09:57 PM Csaba Kiraly

fix compilation without MONL with DEBUG

3cd33bb0 05/06/2010 09:56 PM Csaba Kiraly

reduce debug output in streaming.c

18b3d383 05/06/2010 09:56 PM Csaba Kiraly

add monl to the executable name to differentiate versions

3ceb4247 05/06/2010 09:56 PM Csaba Kiraly

adding one more dependence (lrt) for the sake of libevent 2.0.3+

5fc04950 05/06/2010 09:56 PM Csaba Kiraly

compile also without MONL

ec8681cf 05/06/2010 09:56 PM Csaba Kiraly

fix an error in debug output

3a441932 04/29/2010 04:17 PM Csaba Kiraly

removing chunkbuffer_helper

not needed with the current GRAPES version

08495d05 04/29/2010 04:16 PM Csaba Kiraly

upgrading to the new net-helper interface, that also takes an FD_SET as
parameter

View all revisions | View revisions

README


This is DumbStreamer, the dumb streamer!
As such, do not expect it to be smart...

Here is a quick'n'dirty, informal, description about how to compile
and test the thing (do not expect to find any information about what
the dumb streamer is, or how it works. If you need such information,
please drop me an email - ):

Ok, here we go...
- To download the DumbStreamer
git clone http://www.disi.unitn.it/~abeni/PublicGits/DumbStreamer.git
- To compile it:
cd DumbStreamer
make prepare
make
You can type "make FFDIR=<path to an ffmpeg build>" to compile a version
of the streamer with a minimal libav-based input module.
You can type "make DEBUG=WhyNot" to compile a "debug" version of the
dumb streamer (prints out a lot of crap and debug information, not really
useful in practice unless you are trying to hunt a bug).
You can type "make THREADS=YesPlease" to compile the multi-thread version
of the streamer. Not tested with libav*.
You can type "make GRAPES=<path to your grapes>" to use a different build
of GRAPES
- To test it:
First, I suggest to test the non-libav-based version. It generates
"fake" text chunks, which are useful for debugging
1) build as above (make prepare; make)
2) start a source: ./dumbstreamer -I lo
3) in a different shell, start a client: ./dumbstreamer -I lo -P 5555 -i 127.0.0.1 -p 6666
4) start another client: ./dumbstreamer -I lo -P 5556 -i 127.0.0.1 -p 6666
5) ...
Explanation: "-P <port>" is the local port used by the client (6666 by
default). Since I am testing source and multiple clients on the same
machine, every client has to use a different port number. "-i <IP addr>"
is the source IP, and "-p <port>" is the port number used by the source.
After this testing, I suggest recompiling with debug on, and with threads.
Test as above, and enjoy.
- To see something interesting:
You have to build a libav-based version:
1) cd /tmp; svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
2) cd ffmpeg; ./configure; make -j 3; cd ..
3) git clone http://www.disi.unitn.it/~abeni/PublicGits/DumbStreamer.git
4) cd DumbStreamer; make prepare; make FFDIR=/tmp/ffmpeg
Now, prepare a (video-only) input file:
5) /tmp/ffmpeg -i <whatever.avi> -r 25 -an -vcodec mpeg4 -f m4v test.m4v
6) The input currently needs to be called "input.mpg", so
ln -s test.m4v input.mpg
Start the source. For the moment, you need to manually specify the rate
(will be fixed in the future):
7) ./dumbstreamer -I lo -t 40 -c 50
create a FIFO for the output, and attach a player to it:
8) mkfifo out; ffplay out
start a client:
9) ./dumbstreamer -I lo -P 5555 -p 6666 -i 127.0.0.1 > out
- Enjoy... ;-)

A lot of cleanup is needed, and the input module is still far from being
reasonable (but this is not our business ;-)
But you can now enjoy some video...

Remember! The DumbStreamer is dumb! Peers try to send chunks to the source...
Scheduling is blind...
All of this is very bandwidth inefficient. If you want to start more clients,
please increase the upload bandwidth of the source (dumbstreamer -t 40 -c 200,
or even more...).

Enjoy your streaming,
Luca

Also available in: Atom