Statistics
| Branch: | Revision:

streamers @ 7f591208

Name Size Revision Age Author Comment
  Chunkiser 69ae8acb about 11 years Luca Abeni Add support for missing PTSs
.gitignore 4 Bytes 9008e1d2 about 11 years Alessandro Russo Add .gitignore to remove .o file from status
Makefile 2.96 KB 473a00b3 about 11 years Csaba Kiraly separating MONL better: adding measures.c for M...
README.txt 3.16 KB 21ca4b73 over 11 years Luca Baldesi instructions updated git-svn-id: https://repos...
channel.c 310 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
channel.h 197 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
chunk_signaling.c 7.38 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
chunk_signaling.h 1.49 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
chunkbuffer_helper.h 732 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
chunklock.c 1.82 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
chunklock.h 318 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
dbg.c 474 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
dbg.h 416 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
gpl-3.0.txt 34.3 KB 8fed7779 over 11 years Luca Baldesi added GPL git-svn-id: https://repository.napa-...
input-stream-dummy.c 1.46 KB 421c2dc2 about 11 years Luca Abeni Move payload handling in a proper header file
input-stream.h 442 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
input.c 1.72 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
input.h 385 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
loop-mt.c 5.1 KB b07667ee about 11 years Csaba Kiraly improve logging of pushes to the source
loop.c 3.89 KB b07667ee about 11 years Csaba Kiraly improve logging of pushes to the source
loop.h 320 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
measures-monl.c 11.2 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
measures.c 1.41 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
measures.h 708 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
net_helpers.c 3.71 KB 919f2faa about 11 years Csaba Kiraly removed hostname based IP autodetect
net_helpers.h 258 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
out-stream-avf.c 4.01 KB c41baa63 about 11 years Csaba Kiraly fix timestamp looparound code
out-stream-dummy.c 1.18 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
out-stream.h 145 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
output.c 3.57 KB 9c4f8e7e about 11 years Csaba Kiraly separating MONL better: changing measures.c to ...
output.h 271 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
payload.h 1.64 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
streamer.c 3.45 KB 46de5041 about 11 years Alessandro Russo add comments in the streamer file
streaming.c 13.8 KB 9c4f8e7e about 11 years Csaba Kiraly separating MONL better: changing measures.c to ...
streaming.h 746 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
topology.c 2.92 KB 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
topology.h 324 Bytes 7f591208 almost 11 years Csaba Kiraly adding some more copyright notices
utils.mak 267 Bytes ecf6e64a over 11 years Luca Abeni Better selection of compile options and librari...

Latest revisions

# Date Author Comment
7f591208 06/21/2010 03:06 PM Csaba Kiraly

adding some more copyright notices

3bbf8272 06/17/2010 11:23 AM Csaba Kiraly

added counters to measurements

473a00b3 06/17/2010 11:18 AM Csaba Kiraly

separating MONL better: adding measures.c for MONLless versions

9c4f8e7e 06/17/2010 11:17 AM Csaba Kiraly

separating MONL better: changing measures.c to measures-monl.c

52e0506a 06/17/2010 08:54 AM Csaba Kiraly

add and publish link capacity measurements

749c1cf3 06/17/2010 08:53 AM Csaba Kiraly

improve add_measure to allow non-published measurements

6e052cb8 06/16/2010 11:32 PM Csaba Kiraly

fixing ml.h 's include directory

38e0991d 06/16/2010 08:19 AM Csaba Kiraly

added chunk loss burst size measurement

b0adac4b 06/15/2010 08:13 PM Csaba Kiraly

Merge remote branch 'russo/experimental-streamer' into experimental

f01eb1f0 06/15/2010 07:51 PM Csaba Kiraly

fixing delay measure calculation for both 64bit and 32bit architectures

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