Java P2P Streaming Project: JMF or JVLC?
Posted: 01 Sep 2008 01:16
Hi all.
I'm a CS student in Brazil developing my "Final Project" (surely this is not the way you call it out of Brazil, but this is the way I can express myself ).
My project is about P2P media streaming, and I'm going to build what I called "P2P Media Framework", which will be a "helper" application for implementing different types of P2P streaming protocols with much less work than if you did it from ZERO.
Before somone asks, the reason why I'll use Java for such thing and not C++ is simply because I can't code in C++. I've been writing Java code for many years at work, and saw almost nothing of C++ at the university . Anyway, at first this project is for academical purposes and performance shouldn't be a critical point.
Basically, my app entities and it's requirements are the followings:
(These are the requirements that envolve the media framework I'll use, such as JMF or JVLC)
1) Main Server, should be capable of:
- Creating a RTP stream from some media stored in the hard drive, webcam, etc and sending it to multiple hosts;
- (This item is independent of JVLC, JMF, etc) Mantaining the distribution tree sending "orders" like: "Peer A, send the stream to Peer B"; "Peer B, send the stream to Peers C and D". The decisions of when and why to change the distribution tree will be the work of someone using my framework. For that, the developer should be able to implement "measurements" like end-to-end delay, available up/down bandwidth on each peer, etc).
2) Peers, should be capable of:
- Receive media from an RTP stream;
- Play the received media;
- Retransmit the stream to multiple hosts;
- Send some stream quality information to the main server, which will be used by the "Main Server" to rearrange the distribution tree;
Well, until now I thougth I had no option but to use the old Sun/IBM's JMF, which for what I've seen, is capable of doing the things listed above. But then I started reading about JVLC, downloaded it and ran it and it worked so fine (and JMF works so bad...)!
I'd appreciate if some of you who know the features of VLC/JVLC could tell me if it's possible to use JVLC on my project instead of JMF.
In addition, if any of you get interested in the project, it'll be a pleasure to share my ideas here.
I've got 2~3 weeks to do the specification of the API, and then I should be ready to start coding it (whatever with JMF or JVLC).
Thanks in advance and sorry for any english errors!
I'm a CS student in Brazil developing my "Final Project" (surely this is not the way you call it out of Brazil, but this is the way I can express myself ).
My project is about P2P media streaming, and I'm going to build what I called "P2P Media Framework", which will be a "helper" application for implementing different types of P2P streaming protocols with much less work than if you did it from ZERO.
Before somone asks, the reason why I'll use Java for such thing and not C++ is simply because I can't code in C++. I've been writing Java code for many years at work, and saw almost nothing of C++ at the university . Anyway, at first this project is for academical purposes and performance shouldn't be a critical point.
Basically, my app entities and it's requirements are the followings:
(These are the requirements that envolve the media framework I'll use, such as JMF or JVLC)
1) Main Server, should be capable of:
- Creating a RTP stream from some media stored in the hard drive, webcam, etc and sending it to multiple hosts;
- (This item is independent of JVLC, JMF, etc) Mantaining the distribution tree sending "orders" like: "Peer A, send the stream to Peer B"; "Peer B, send the stream to Peers C and D". The decisions of when and why to change the distribution tree will be the work of someone using my framework. For that, the developer should be able to implement "measurements" like end-to-end delay, available up/down bandwidth on each peer, etc).
2) Peers, should be capable of:
- Receive media from an RTP stream;
- Play the received media;
- Retransmit the stream to multiple hosts;
- Send some stream quality information to the main server, which will be used by the "Main Server" to rearrange the distribution tree;
Well, until now I thougth I had no option but to use the old Sun/IBM's JMF, which for what I've seen, is capable of doing the things listed above. But then I started reading about JVLC, downloaded it and ran it and it worked so fine (and JMF works so bad...)!
I'd appreciate if some of you who know the features of VLC/JVLC could tell me if it's possible to use JVLC on my project instead of JMF.
In addition, if any of you get interested in the project, it'll be a pleasure to share my ideas here.
I've got 2~3 weeks to do the specification of the API, and then I should be ready to start coding it (whatever with JMF or JVLC).
Thanks in advance and sorry for any english errors!