Comment #1 on issue 720 by [email protected]: Desktop Sharing  
Optimization using xuggler
http://code.google.com/p/openmeetings/issues/detail?id=720

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

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to