nevermind used the wrong ANT build.

Got it to work now :)


On Thu, Oct 24, 2013 at 9:11 AM, Alexander Brovman <
alexander.brov...@gmail.com> wrote:

> Maxim i made some changes to the code, i downloaded the source on the
> server, changed the lines with nano. and then from the mainfolder simply
> ran the ant command and it started compiling (albeit some errors appeared
> since i only entered "ant" without any options/parameters.
>
> Openmeeting is working fine, i simply replaced the entire screenshareing/
> folder with the new one i just compiled... any suggestions on what im doing
> wrong here?
>
> I am getting this error:
> Unsigned Entry in resouce: slf4j-api-1.6.4.jar
>
>
> On Thu, Oct 24, 2013 at 8:17 AM, Maxim Solodovnik <solomax...@gmail.com>wrote:
>
>> I'm currently trying to modify the code to get 20+ fps (was requested
>> many times, but I had no time on this :( currently I'm on vacation, will
>> try to implement it)
>>
>>
>> On Thu, Oct 24, 2013 at 10:02 AM, Alexander Brovman <
>> alexander.brov...@gmail.com> wrote:
>>
>>> Maxim,
>>>
>>> Thank you for responding so quickly. The primary reason i asked is
>>> because we sometimes need to output data like Financial Stock charts or
>>> similar dynamic content and in a resolution size of 1650x1080. As you can
>>> imagine right now the delay is.. manageable, perhaps somewhere along the
>>> lines of 0.5-1 second delay id say.
>>> We had an independant tested saying its an average of 130ms. But for
>>> fast video/changes the framerate will sometimes drop or become laggy.
>>>
>>> Ill try setting the timebetweenFrames to 30ms which in "ideal"
>>> conditions should give me 33.333 frames per second of video.
>>> As for the Thread.Sleep(XXX) not working or functioning i will remove
>>> the thread.sleep(60) from the top,
>>> As for the Thread.Sleep(xxx) settings i will simply remove it; BUT i
>>> will leave in the "Thread.sleep(Math.max(0, timeBetweenFrames - spent));"
>>> since "worst" case scenario it will not be put to sleep at all since the
>>> output will be 0, and "best case" scenario the thread will be put to sleep
>>> for 30 - 1 ms depending on how the calculation turns out.
>>>
>>> Perhaps it would be good to leave somekind of thread sleep in there that
>>> is a static factor, from a development standpoint i would rather prefer
>>> having a fixed constant in there. rather than putting the thread to sleep
>>> (potentially twice). Either that or im not understanding the reason for the
>>> first thread.sleep (or the second one).
>>> Either way i will make the changes now and compile, I will report my
>>> findings here if you want me to :)
>>>
>>> @Sebastian,
>>>
>>> At the time of writing this i saw you respond, so i am writing this
>>> short addendum:
>>> 1) Could you please comment on whether or not Thread.Sleep(xxx) works?
>>> 2) 2-4 frames per second and less may be great for static presentations
>>> but not so much for dynamic. I understand the concerns raised on your
>>> behalf regarding bandwidth usage but since we have a dedicated Gigabit
>>> connection we have no issues with dedicating anywhere between 2-5 Mbit per
>>> user. 20 Frames per second really is the minimum we are looking at, i think
>>> it would be great if you presented people with an option/alternative to
>>> gotowebinar. I understand that applications which compile into native code
>>> will always be faster and outperform in certain aspects, but when you have
>>> the motivation and perhaps the financial resources to dedicate time and
>>> money into getting away from solutions such as GoToWebinar.
>>>
>>> Is there a way of "fixing" the position of the screen that the viewers
>>> will see when they accept a desktop streaming broadcast from a presenter? I
>>> ask this because i havent found a way to change the location of the Chat
>>> Bar inside a conference room yet (neither have I found a way to change the
>>> colors/themes to be honest, need to do some more google searches).
>>>
>>> Kind regards,
>>> Alexander
>>>
>>>
>>>
>>> On Thu, Oct 24, 2013 at 4:47 AM, seba.wag...@gmail.com <
>>> seba.wag...@gmail.com> wrote:
>>>
>>>> Do we still have the super high quality setting in the sharing client?
>>>> My problems in the past was more around the bandwidth issues then the
>>>> FPS.
>>>> If you do 2-4 FPS the bandwidth usage will go that up... there is
>>>> probably a trick, maybe there is also something todo in the way the tiles
>>>> are calculated that need to be resend. It normally should only try to
>>>> resend the ones that really change. So if you show an hd movie you might
>>>> see your bandwidth needs go up quite a bit.
>>>>
>>>> Seb
>>>>
>>>>
>>>> 2013/10/24 Maxim Solodovnik <solomax...@gmail.com>
>>>>
>>>>> Hello Alexander,
>>>>>
>>>>> Your findings are correct :)
>>>>> With the only exception: Screenshots are taken in single thread, so
>>>>> there are some limitations in the speed :(
>>>>> I believe Thread.sleep(xxx) doesn't work at all
>>>>> I'm planning to rewrite this part And hopefully will be able to
>>>>> increase FPS.
>>>>>
>>>>> Basic compilation steps are here:
>>>>> http://openmeetings.apache.org/BuildInstructions.html
>>>>> After compiling all jars in screensharing folders are being signed, so
>>>>> you need to replace all of them, otherwise you will get security error due
>>>>> to different certificates
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Oct 24, 2013 at 3:07 AM, Alexander Brovman <
>>>>> alexander.brov...@gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have two quick questions, but first of all i just wanted to say
>>>>>> that Openmeetings is fantastic. I had both OpenMeetings and BBB Installed
>>>>>> and we have decided to go with OM.
>>>>>>
>>>>>> I am relatively apt at programming with Python and C# but I have
>>>>>> never worked with a lot of Javaapplications like these ones, so i have 
>>>>>> the
>>>>>> following questions:
>>>>>>
>>>>>> *1)* From what i understand the ScreenSharing is performed by taking
>>>>>> snapshots every x milliseconds. Additionally there is an algorithm in 
>>>>>> place
>>>>>> that divides the snapshot into tiles and measures the changes in tiles, 
>>>>>> if
>>>>>> there is a change the tile is uploaded. If this is correct, and i want a
>>>>>> more.. "fluid" video because there will be a lot of changes, cant i 
>>>>>> simply
>>>>>> modify the "framerate" at which the images will be compared to improve 
>>>>>> the
>>>>>> output? I am well aware that this would eat into the CPU and the 
>>>>>> bandwidth
>>>>>> but i have a Full Duplex Gbit and 2x Quadcore Xeons available to me so 
>>>>>> this
>>>>>> is not an issue. We are trying to test for an extreme case of 500-1500
>>>>>> users and how to optimize the output, i think the developers and other
>>>>>> users will be interested in seeing the results.
>>>>>>
>>>>>>
>>>>>> *2)* Where would these changes need to be made? So far i have
>>>>>> isolated the CoreScreen.java , CaptureScreen.java and
>>>>>> theScreenV1Encoder.java files that apparently contain the code which
>>>>>> processes the desktop sharing.
>>>>>>
>>>>>> The CaptureScreen.Java has the:
>>>>>> "timeBetweenFrames = (ScreenDimensions.quality ==
>>>>>> ScreenQuality.VeryHigh) ? 100 : 500;" setting on line 54 which basically
>>>>>> says that if Screequality is set to very high (condition is true) then
>>>>>> select 100 as the value for timeBetweenFrames.
>>>>>>
>>>>>> This variable is apparently used lateron in the
>>>>>> "Thread.sleep(Math.max(0, timeBetweenFrames - spent));" on line 96, which
>>>>>> will pause the current loop for the amountof time that is the difference
>>>>>> between timeBetweenFrames( in our case 100ms) minus the spent time (which
>>>>>> is defined on line 91).
>>>>>>
>>>>>> So in Theory if i wanted to output the screen in realtime at 20 or 24
>>>>>> frames per second which would mean that a snapshot would need to be taken
>>>>>> every 50 milliseconds or so, would i simply need to set a different frame
>>>>>> setting for the time between frames, something like:
>>>>>> "timeBetweenFrames = (ScreenDimensions.quality ==
>>>>>> ScreenQuality.VeryHigh) ? *20* : 500;"
>>>>>>
>>>>>> Reduce the Thread.sleep(60); on line 60 to something like 20
>>>>>> milliseconds so (Thread.sleep(20);)
>>>>>> and then finally remove the the last part "Thread.sleep(Math.max(0,
>>>>>> timeBetweenFrames - spent));" or perhaps leaving it in?
>>>>>>
>>>>>> I understand that this would be a .. "wrench and hammer" approach
>>>>>> since this will probably eat up quite a bit of CPU usage. I mean the
>>>>>> simpler solution here clearly would be to get rid of the algorithm itself
>>>>>> and simply rewrite it to simply output a screenshot every x milliseconds 
>>>>>> or
>>>>>> so, but i have no idea how deep i would be messing with openmeetings and 
>>>>>> if
>>>>>> that would/could break other parts of openmeeting that access these 
>>>>>> files?
>>>>>>
>>>>>> So would this be a workable solution that i could at least try out? I
>>>>>> would ofcourse be more than happy to supply the CPU Usage differences.
>>>>>>
>>>>>> *3)* My only question would be is how would i recompile these? I am
>>>>>> asking because i read somewhere in the mailinglists (or the old google
>>>>>> groups) that it is recommended to use ANT in order to recompile things.
>>>>>> Also what will be the output name of the .jar that is essentially being
>>>>>> loaded for people and located on the server?
>>>>>> Because all i can find on my Debian box is
>>>>>> the 
>>>>>> /usr/lib/red5/webapps/openmeetings/screensharing/openmeetings-screenshare-2.1.1-RELEASE.jar
>>>>>> file.
>>>>>>
>>>>>> So yeah, if somebody could help me with recompiling i would
>>>>>> appreciate it! :)
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wag...@gmail.com
>>>>
>>>
>>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>

Reply via email to