Hi Maxim, will test 1) and 2) soon :)
About Point No 2): I did not debug yet if this time is the duration that is read from the database or the value that is read from the FLV file. I think it is from the database. If that is the case we have wrong duration in the database for recordings. That could have its root in wrong timeStamps in the FLV packets while recording. That couild be a real issue because the audio files that are mixed in the stream rely on those time stamps. Lets make an example scenario: 2 users in room (UserA UserB), UserA startes the recording (audio and video already turned on) UserB arrives in the room at: 2:00 min (time of recording) and starts audio and video UserB leaves at room at: 3:00 min (time of recording) UserA stops recording at: 4:00 min (time of recording) We need now 2 audio-only streams with exactly 4:00 minutes of length and mix those using SoX into a single audio stream (we use WAVE format internally for those temp audio files) This is neccessary as you can only merge a single audio and a single video file to a final recording with FFMPEG. UserA has an audio file of 4:00 minutes, as he had his audio/video turned on during the whole meeting [audio_wave_userA] UserB has an audio file of 1:00 minute, we now add 2:00 minutes of silent in the beginning and 1:00 min of silent at the end of this audio file using SoX [audio_wave_userB] Now we use sox to merge audio_wave_userA with audio_wave_userB to have the final WAVE of exactly 4:00 minutes and merge that using FFMPEG to the final Recording FLV and AVI. My example scenario needs a test ... and then we will have to check if the audio/video of UserB is still in sync or not by looking at the recording and see if there is mismatch. Sebastian 2012/4/8 Maxim Solodovnik (Resolved) (JIRA) <[email protected]> > > [ > https://issues.apache.org/jira/browse/OPENMEETINGS-138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel] > > Maxim Solodovnik resolved OPENMEETINGS-138. > ------------------------------------------- > > Resolution: Fixed > Assignee: SebastianWagner > > I have fixed everything except for 2). Hope it will fix automatically > after ScreenSharing codec modified to be more memory efficient. > > Sebastian, can you take a look, how good it is now? > > > Errors and quality of Recording with screensharing application > > -------------------------------------------------------------- > > > > Key: OPENMEETINGS-138 > > URL: > https://issues.apache.org/jira/browse/OPENMEETINGS-138 > > Project: Openmeetings > > Issue Type: Bug > > Reporter: SebastianWagner > > Assignee: SebastianWagner > > Fix For: 2.0 Apache Incubator Release > > > > Attachments: flvRecording_3.avi, flvRecording_3.flv > > > > > > Settings in the screensharer is "High" > > 1) The quality of the AVI is really bad. FLV is good. The AVI recording > gets bad after roughly 15 seconds. It starts good but then gets uggly. > > Attached a sample recording avi and flv. > > 2) The recordings have the wrong length (both AVI and FLV) show 2:13 as > overall length, while the movie actually is only ~ 1:16 (which is right! I > did not record more then that) > > 3) Sometimes you can see those logs in the Java Console of the > Screensharing app. > > It _seems_ to have no actual effect to the data. > > java.nio.BufferOverflowException > > at java.nio.HeapByteBuffer.put(Unknown Source) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:637) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:1340) > > at > org.openmeetings.screen.webstart.CoreScreenShare.pushVideo(CoreScreenShare.java:1113) > > at > org.openmeetings.screen.webstart.CoreScreenShare$CaptureScreen.run(CoreScreenShare.java:1198) > > at java.lang.Thread.run(Unknown Source) > > java.nio.BufferOverflowException > > at java.nio.HeapByteBuffer.put(Unknown Source) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:637) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:1340) > > at > org.openmeetings.screen.webstart.CoreScreenShare.pushVideo(CoreScreenShare.java:1113) > > at > org.openmeetings.screen.webstart.CoreScreenShare$CaptureScreen.run(CoreScreenShare.java:1198) > > at java.lang.Thread.run(Unknown Source) > > java.nio.BufferOverflowException > > at java.nio.HeapByteBuffer.put(Unknown Source) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:637) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:1340) > > at > org.openmeetings.screen.webstart.CoreScreenShare.pushVideo(CoreScreenShare.java:1113) > > at > org.openmeetings.screen.webstart.CoreScreenShare$CaptureScreen.run(CoreScreenShare.java:1198) > > at java.lang.Thread.run(Unknown Source) > > java.nio.BufferOverflowException > > at java.nio.HeapByteBuffer.put(Unknown Source) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:637) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:1340) > > at > org.openmeetings.screen.webstart.CoreScreenShare.pushVideo(CoreScreenShare.java:1113) > > at > org.openmeetings.screen.webstart.CoreScreenShare$CaptureScreen.run(CoreScreenShare.java:1198) > > at java.lang.Thread.run(Unknown Source) > > java.nio.BufferOverflowException > > at java.nio.HeapByteBuffer.put(Unknown Source) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:637) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:1340) > > at > org.openmeetings.screen.webstart.CoreScreenShare.pushVideo(CoreScreenShare.java:1113) > > at > org.openmeetings.screen.webstart.CoreScreenShare$CaptureScreen.run(CoreScreenShare.java:1198) > > at java.lang.Thread.run(Unknown Source) > > java.nio.BufferOverflowException > > at java.nio.HeapByteBuffer.put(Unknown Source) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:637) > > at > org.apache.mina.core.buffer.AbstractIoBuffer.put(AbstractIoBuffer.java:1340) > > at > org.openmeetings.screen.webstart.CoreScreenShare.pushVideo(CoreScreenShare.java:1113) > > at > org.openmeetings.screen.webstart.CoreScreenShare$CaptureScreen.run(CoreScreenShare.java:1198) > > at java.lang.Thread.run(Unknown Source) > > -- > This message is automatically generated by JIRA. > If you think it was sent incorrectly, please contact your JIRA > administrators: > https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa > For more information on JIRA, see: http://www.atlassian.com/software/jira > > > -- Sebastian Wagner https://twitter.com/#!/dead_lock http://www.openmeetings.de http://www.webbase-design.de http://www.wagner-sebastian.com [email protected]
