Open GoogleCodeExporter opened 9 years ago
hola,
brief shoutout bout the standing of my optimization efforts :
Regarding the fact of being able to deliver openMeetings over the webcloud,
there
should be multiple possibilities of screensharing, to cope with any firewall,
bandwidth and network issues.
-> the current solutions (transferring jpegs via Servletcall and showing them
into
whiteboard) are useful in low-bandwidth areas, but offer low quality and
performance.
-> there are two other options, i evaluated supported by sebastian and both
resulted
in nice results :
a) optimized ServletCall Sharer
- taking ScreenCaptures within WebstartClient
- Splitting each Image into lowered rectangels
- Evaluating the changed rectangels on client side (comparing RGB int[])
- Zipping Changed Rectangels via Huffmann
- Sending only changes rectangels to RED5 (ServletCall)
- Rebuilding Image on serverside
- Threadbased converion of the images into SWF (java2swf) or FLV (xuggle)
-> The resulting vids are quit nice and have a average framerate of 5-10
videopictures in my tests (intranet...)
-> whats left to do for this solution would be a rebroadcast of the generated
movies
into red5scope and notification of the laszloclients.
b) JMF based RTP Streamer
- Taking Screenshots within Webstart Client (java.awt)
- Scaling Images to desired Videoresolution (-> e.g. 1024x768) to receive a
normalized dimension
- opening RTP Stream to desired IPs (unicast/multicast)
-> the result is a VNC like ScreenGrabber with high resolution and really
acceptable
performance.
-> the JMF Framework would also offer the possibility to record parallel and
export
the Screensharing session into a Movie format.
-> high scalability on clientside (JpegQuality, Videoresolution, ...)
-> i tested this solution local and over network bridge with best results so
far
(using JMF studio as faked RTP Receiver)
-> whats left to do for this solution :
- building small GUI for stopping/starting sharing, setting quality and
resolution
- implementing the RTP2RTMP (Xuggle) Solution into openMeetings
- Notifying laszloclients to start the stream and receive the video live in
whiteboard/new area....
i plan to make the new solution configurable within OM, so there exists a
sharing
solution for each eventuality (the RTP Streamer colud cause problems due to
firewalls blocking UDP Ports...)
see ya
Smoeker
Original comment by i...@oliver-becherer.name
on 29 May 2009 at 8:30
that sounds really fantastic!
I also prefer that we try to make both possibilities available so that we have
an
option for different environments.
Original comment by seba.wag...@gmail.com
on 29 May 2009 at 8:36
hola,
i just commited the basic code for the new streamer, containing a full
functional
Sharer part (without GUI at the moment) and a test - applet showing the
result...
at the moment, theres no interaction with openmeetings, so u can test this
solution "standalone" :
1.) Alter Streamer.java -> destinationaddress (also multicast, e.g.
192.168.178.255)
2.) Start Executable Main.java (commandline, e.g.)
3.) Deploy rtpapplet and alter the IP address
4.) watch result
at the moment, u achieve besst quality with a screenresolution of 1024 x 768,
higher
resolutions are scaled down to 1024 x 768.
-> the Framerate for the resulting MJPEG Stream is set to 20 at the moment
-> highest JPEG Quality at the moment (1f)
short roadmap :
Client :
- SwingGui for Start/Stop/JPEG Quality/Framerate/Screen Dimensions
- Velocity template for jnlp download
Server :
- on "Start ScreenSharing" within conference, a Thread gets started, receiving
the
RTP Stream from Moderator and re-broadcasting it to known conference
participants
- Client notification for participants (-> opening browserwindow with RTP
Receiver
Applet) using velocity template for connection data
...unfortunately, theres no possibility at the moment to convert the incoming
RTP
Stream into RTMP ( we tried to use xuggle, but the underlying ffmpeg is not
able to
handle JPEG/RTP Streams at the moment, i opened a ffmpeg issue, so maybe we can
use
this in future), dependent on that fact, we cannot show the shared screen
within
whiteboard directly....
see ya
Smoeker
Original comment by i...@oliver-becherer.name
on 15 Jun 2009 at 8:47
ok! I will try to add my bits to the code.
You also need some kind of event-notifications from the Server to the Applet to
start
/ stop the stream.
I slightly modified the location of some files and add the jmf.jar into lib/jmf
and
to the classpath sothat you can build the project in Eclipse without an error
beeing
throwd.
Original comment by seba.wag...@gmail.com
on 15 Jun 2009 at 9:31
hola,
the jmf.jar is also requiered for the applet - maybe the archive tag has to be
changed within test.html to download the jar when calling the applet...
btw : to test the sharer, it is also possible to use JMstudio (-> openRTP
Session)
see ya
Smoeker
Original comment by i...@oliver-becherer.name
on 15 Jun 2009 at 10:29
Original comment by seba.wag...@gmail.com
on 30 Jun 2009 at 7:36
What's the FFmpeg issue that you filed (the link to FFmpeg roundup if you know
it)?
- Art
Original comment by art.cla...@gmail.com
on 26 Aug 2009 at 10:49
Original comment by seba.wag...@gmail.com
on 31 Jan 2012 at 12:22
OpenMeetings moves to Apache Foundation, update your bookmarks to the new
project page:
http://incubator.apache.org/openmeetings/
New Issue tracker is located: https://issues.apache.org/jira/browse/OPENMEETINGS
New Mailing Lists located at:
http://incubator.apache.org/openmeetings/mail-lists.html
Original comment by seba.wag...@gmail.com
on 31 Jan 2012 at 12:25
Original issue reported on code.google.com by
i...@oliver-becherer.name
on 4 May 2009 at 7:42