Commit Graph

140 Commits

Author SHA1 Message Date
Calvin Walton
72fc36caef Actually fix slide indexes.
While the page numbers from BigBlueButton are zero-based, the slide images
are generated as 1-based.
2014-09-09 17:15:57 -04:00
Calvin Walton
c7967810b2 Revert the presentation publish page index altering
This was added because BigBlueButton 0.9 started using 1-based page
numbers in the events.xml file. That change has been reverted, so as
to avoid behaviour changes from 0.81 in places where it's unnecessary.
2014-09-02 15:46:52 -04:00
Calvin Walton
15fe621523 Use the timestamp from the meeting ID to calculate the real start time
With the switch to a different clock source in red5, the timestamps
in the events file are no longer real-time, but are rather in
seconds since computer boot.

The timestamp in the meeting id is still realtime, so use that as
the start time. Calculate the end time by adding the meeting length
to the start time.
2014-08-29 11:19:59 -04:00
Gustavo Salazar
fb013e751f support bbb_version in events.xml 2014-05-06 14:42:03 -05:00
Gustavo Salazar
7d291abcfd delete old raw dir from published recordings 2014-04-14 15:14:14 -07:00
Richard Alam
460dfb52bf - modify scripts so we can run it manually 2014-04-03 20:23:49 +00:00
Gustavo Salazar
8a32c657d5 Handle negative index in slide number.
Related to issue #1710
2014-01-23 16:36:28 -05:00
Gustavo Salazar
614cbdde92 Fix #1711
Support pdf extension in uppercase https://code.google.com/p/bigbluebutton/issues/detail?id=1711
2014-01-23 14:03:09 -05:00
Felipe Cecagno
3440ed0fe3 Merge branch 'v0.81' into record-button
Conflicts:
	bigbluebutton-client/branding/default/style/css/BBBDefault.css
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
2014-01-14 14:05:41 -02:00
Felipe Cecagno
dab7547014 added a check on presentation publish script to avoid the duplication of thumbnails for a given slide 2013-12-02 15:23:02 -02:00
Felipe Cecagno
955f9edc99 fixing the issue of the whiteboard annotations not being shown in the proper slide; cleaning the environment (events.xml, recorded flag) when the session was recorded but the record button wasn't used 2013-12-02 13:57:05 -02:00
Calvin Walton
1d488e3c56 Last-ditch fix for missing presentation images
We can only get here if all of the files for the presentation are
*completely* missing. One thing that can cause this is if the
presentation filename starts with a '.' character - the presentation
files aren't correctly archived then.
2013-10-31 18:56:09 -02:00
Calvin Walton
e6fe43f9b6 Fix a logger method call in presentation script
This shouldn't normally be hit... but if it ever is, the processing will
fail with an error, since the Logger class doesn't have a method named
'warning'.
2013-10-23 10:01:02 -04:00
Gustavo Salazar
38f8ed5741 Support processing of images with extension .jpeg 2013-10-18 17:46:07 -05:00
Guilherme Augusto Dias
129e942d16 Add recording length information to metadata file
Add a tag containing the duration of the recording to metadata file
2013-10-15 14:29:49 +00:00
Guilherme Augusto Dias
dcabfc46fa Cut off unwanted slide events
Ignore slide events that happened after the last stop recording timestamp
2013-10-10 13:53:32 +00:00
Guilherme Augusto Dias
67fee3bff5 Correct clear/undo timestamp translation
Postpone the translation of timestamp for clear/undo events, so the events are applied correctly.
2013-10-09 19:51:46 +00:00
Felipe Cecagno
6e0553ed7c Merge branch 'record-button' of github.com:guilhermedias/bigbluebutton into record-button
Conflicts:
	record-and-playback/presentation/scripts/publish/presentation.rb
2013-10-07 22:36:31 -03:00
Guilherme Augusto Dias
8c89024084 Fix issue in multi-segment recording
Correctly draw shapes in multi-segment recordings.
2013-10-07 20:08:14 +00:00
Felipe Cecagno
d9dfe4a5d0 fixed partially the issue with the shapes timestamp made after the first period of recording, there's still work to do 2013-10-04 16:52:53 -03:00
Calvin Walton
420b0b5573 Make generation of png images for pdf pages more resiliant.
We now use ghostscript to output pngs directly from the original pdf,
rather than using convert on the split pages. This should make corrupt
or strange pdfs less likely to cause issues.

As well, if a pdf page conversion fails (for any reason, including that
the original pdf is missing...) it will be logged, and a blank page
generated, and processing will continue.
2013-10-04 15:25:13 -04:00
Guilherme Augusto Dias
9d1dd1d8d2 Fix shape/image matching test
Fix iteration range when checking if a shape is within an image
2013-10-02 22:32:16 +00:00
Felipe Cecagno
322176ddf3 Merge branch 'record-button' of https://github.com/guilhermedias/bigbluebutton into record-button
Conflicts:
	record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-26 13:06:15 -03:00
Guilherme Augusto Dias
99b17e6f58 Change shape timestamps generation
The timestamps of shapes drawn during a non recording period are being correctly generated.
2013-09-26 13:32:55 +00:00
Felipe Cecagno
aa597fe985 Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into record-button-client
Conflicts:
	bigbluebutton-client/branding/default/style/css/BBBDefault.css
	bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
	record-and-playback/core/lib/recordandplayback.rb
	record-and-playback/core/lib/recordandplayback/generators/audio_processor.rb
	record-and-playback/core/lib/recordandplayback/generators/events.rb
	record-and-playback/core/lib/recordandplayback/generators/video.rb
	record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-24 15:03:44 -03:00
Felipe Cecagno
b5b81c1c4d refactored a little bit the function translateTimestamp; the images that are never displayed aren't included on the svg file anymore; still have to figure out the issue with the shapes made BEFORE start the recording - for now we cannot differentiate shapes made on the current slide and the ones made on a previous slide before start the recording 2013-09-19 15:22:22 -03:00
Felipe Cecagno
237268424f the timestamps of the recording events are normalized now, matching the recording marks; still need more testing when there are multiple start-stop recording events; the whiteboard actions are already working, including the slides, but slides that are outside of the recording period are still being loaded in the svg file (#TODO) 2013-09-18 17:54:51 -03:00
Guilherme Augusto Dias
78c77fb362 Create timestamp attribute
Shape tags have a timestamp attribute (id attribute no longer includes timestamp information).
2013-08-28 17:51:06 +00:00
Calvin Walton
0473682137 Reset the offset to 0; the new scripts seem to have better sync? 2013-08-26 13:23:49 -04:00
Calvin Walton
7c7540a0de Add a video quality bump when deskshare videos are present. 2013-08-26 11:27:53 -04:00
Calvin Walton
42e195bbe8 Rewrite the audio/video encoding components for BigBlueButton.
I've been working on this for a while, and it's adapted from code that
has been fairly well-tested on a wide variety of recordings. I've found
it to do a more accurate job of combining multiple webcam files, and it
should be more accurate in the audio as well.

Another key feature is that it does fewer re-encoding steps during video
processing, which should both speed it up and hopefully improve quality.
The settings on the VP8 encoder have been tuned somewhat as well.
2013-08-26 11:20:33 -04:00
Gustavo Salazar
26e6876136 Fix #1606 2013-08-19 20:17:10 -05:00
Guilherme Augusto Dias
a762a030ec Chat events timestamp
Calculating timestamp of chat events correctly
2013-08-05 20:32:04 +00:00
Guilherme Augusto Dias
963ea8a1f1 Process chat events
Process chat events according to START/STOP record events
2013-08-05 19:13:19 +00:00
Calvin Walton
ecfe8b7db4 RaP: Adjust the 'convert' command to make opaque images
This forces a background colour of white on the generated png images for
slides in the slides and presentation recording formats. Fixes Issue
1588.
2013-07-17 18:08:51 -04:00
Fred Dixon
e08c6802d4 Update configuration to record desktop sharing by default 2013-06-15 08:25:09 -07:00
Felipe Cecagno
b176ef090f fixing the incorrect handling of the last timeline event on video processing 2013-07-01 15:32:25 -03:00
Felipe Cecagno
fea7486ae3 implemented the possibility to include the desktop sharing streams to the presentation playback; it composes the presentation video file just like the other video streams, with the difference that while the screen is being sharing, it appears as the unique video stream in the presentation video - when the presenter stops sharing his screen, the other videos populate the video display;
also, the output video resolution is modified to the highest screen resolution shared during the conference, independently on the output video resolution set by the user; it was done to preserve the quality of the desktop sharing image; if there's no desktop sharing, the output video resolution is respected
2013-06-14 17:50:39 -03:00
Felipe Cecagno
bf554b75a8 enabling audio_offset tested for h264 2013-06-13 17:24:37 -03:00
Felipe Cecagno
ced61d3fba rap-worker now keeps track of the processing time of a recording; a file called processing_time is generated during the process phase, and this information is added to metadata.xml when the recording is published - this information isn't retrieved by getRecordings because no modification was done on bbb-web to include this information, but at least it's there so the sysadmin can check how long does a recording take to get processed 2013-06-13 17:13:20 -03:00
Felipe Cecagno
53c071ddc3 ref #1516
Refactored the code that generates the video file used in the presentation playback. The problem with the sync of video sources was related to problems of precision inside FFmpeg (sometimes the script runs FFmpeg to trim video files, and the output video file trimmed sometimes was 3+ seconds bigger or smaller than the requested).
Also it's a little more modular, so it will be easier to expand functionality. The processing steps are more explicit now, and the logs are better now to understand the final output.
A new parameter on presentation.yml was added to enable the admin to add an offset for the audio stream - this is mainly useful when the session ran with h264, because the video takes longer for the client to encode, and then in the recording we can see the huge gap between audio and video.
2013-06-13 17:10:52 -03:00
Gustavo Salazar
2483f76ee6 create audio.webm to play it in IE 2013-06-11 17:20:34 -05:00
Gustavo Salazar
e89bb22e9f no need to publish events.xml 2013-06-11 17:02:12 -05:00
Gustavo Salazar
f1cd2f071e publish audio files only if video is not available 2013-06-11 17:00:08 -05:00
Calvin Walton
80ceefa5ca presentation: Fix presentations which are images not pdfs
This was broken by my earlier change to fallback the pdf filename for
really old recordings.

Rearrange the code so that the pdf logic is only used in the case when
the presentation is a pdf.
2013-05-17 14:32:14 -04:00
Calvin Walton
366d5901a4 presentation: Support processing 0.80 rectangles and ellipses. 2013-05-17 14:29:49 -04:00
Calvin Walton
ff1e0e948a RaP: Presentation: Fix panzoom generation to handle no slides
It's a pretty rare case, but I've seen some recorded meetings that had
no slides (not even the default pdf). Handle this without crashing.
2013-05-14 14:11:53 -04:00
Calvin Walton
6083403631 RaP: Presentation: Support old recordings with '.pdf' in presentation name
In some old recordings (0.80?) I've seen the default presentation pdf
located at the filename .../default.pdf/default.pdf. Support this old
location with fallback logic so the new scripts will work to reprocess
old recordings.

I've improved the error handling logic here a bit as well.
2013-05-14 14:02:23 -04:00
Calvin Walton
a1946007a6 RaP: Presentation: Don't process audio twice when no video.
The audio is unconditionally processed earlier in the script. Remove the
line that runs it again when there is no video in the recording.
2013-05-14 13:59:14 -04:00
Calvin Walton
4962cc713f Recording: Add a fake panzoom event if none are in the events xml
This is required so that the 'presentation' recording format can
reprocess recordings from BigBlueButton 0.80
2013-05-06 17:01:42 -04:00
gustavo salazar
338ed2bc6c store error messages in the script log file. Fix #1281 2013-04-02 18:53:08 -05:00
gustavo salazar
93ed54795e process last 'pan and zoom' event. Fix #1451 2013-04-02 17:35:57 -05:00
Gustavo Salazar
256a9dc200 set text file only when it exists 2013-02-13 17:13:55 -05:00
Gustavo Salazar
d6a5b78299 accept image extensions in uppercase 2013-01-23 12:40:01 -05:00
Gustavo Salazar
821e8c823d fix 'clear page' action in playback 2012-11-28 11:42:25 -05:00
Gustavo Salazar
8f973cd1f4 fix playback of whiteboard for slides in 'portrait' mode 2012-11-27 17:41:14 -05:00
Gustavo Salazar
93a1f2f2a1 Increase height of text box in playback 2012-10-26 14:15:11 -05:00
Gustavo Salazar
66e8fbbdbb Draw squares properly in the playback 2012-10-26 13:44:06 -05:00
Gustavo Salazar
033e76f5c4 Detect and draw circles in playback 2012-10-22 13:55:44 -05:00
Gustavo Salazar
41b9467c77 Align and wrap text 2012-10-20 15:28:20 -05:00
Gustavo Salazar
1a8d263da4 Set color in played text 2012-10-19 15:06:52 -05:00
Gustavo Salazar
d18a677bef Fix playback of straight line 2012-10-19 13:10:37 -05:00
Gustavo Salazar
46b0f56fe8 Wrap text in playback. 2012-10-19 13:09:16 -05:00
Gustavo Salazar
e2fbbef7de Remove dependency on slides scripts 2012-09-15 21:27:10 -05:00
Gustavo Salazar
79b9cf1cab Validate bounds in cursor events 2012-09-15 20:42:31 -05:00
gustavo salazar
6d90e31b85 Set playback_host in bigbluebutton.yml 2012-09-10 16:12:10 -05:00
Gustavo Salazar
2b48e2e4cb Increase count of text shapes. 2012-09-06 16:19:51 -05:00
Gustavo Salazar
4a492c214a Process and draw straight lines for plaback. 2012-09-06 14:21:55 -05:00
Gustavo Salazar
f5ee8b6cbf Update license. 2012-09-04 16:42:13 -05:00
Gustavo Salazar
803be3b3be Play audio file if video was not recorded. 2012-09-04 16:14:07 -05:00
Gustavo Salazar
baaac401d6 Process triangles. 2012-09-03 20:14:29 -05:00
Gustavo Salazar
20c6bb3722 Resize font of text events. 2012-08-30 18:55:15 -05:00
Gustavo Salazar
f5c2b9cdc5 Remove processed and published files. 2012-08-30 03:42:11 -05:00
Gustavo Salazar
85d66d5203 Use the event "ModifyTextEvent" to draw text. 2012-08-29 23:29:11 -05:00
Gustavo Salazar
eeca99f294 Get dataPoints for every event of "AddShapeEvent". 2012-08-29 16:05:44 -05:00
Gustavo Salazar
27dd7da721 Get attributes according to the type of event. 2012-08-28 14:31:14 -05:00
Felipe Cecagno
96d4037ab0 Merge branch 'master' of git://github.com/bigbluebutton/bigbluebutton 2012-08-27 16:23:59 -03:00
Felipe Cecagno
7be21e5e53 only copies the slides text files if they exist; this is to keep the script compatible with old recordings 2012-08-27 16:23:12 -03:00
Gustavo Salazar
efc52ca936 Merge pull request #60 from mconf/master
Video file generation for presentation playback format
2012-08-27 09:18:42 -07:00
Felipe Cecagno
f9d7f11d63 reverted the code used to process the video for the matterhorn integration; many fixes on the video processing for the new playback format "presentation"; now it's possible to set the output video resolution for the presentation playback - it's VGA by default but could be set to HD 2012-08-27 12:41:26 -03:00
Fred Dixon
347f0be656 Display initial slides correctly 2012-08-27 09:10:45 -04:00
Fred Dixon
3c70cf500b Fixed syntax error for path to presenttion folder 2012-08-21 19:08:48 -04:00
Fred Dixon
ee29a96b6a changed logging for publish/preentation.rb to /var/log/bigbluebutton/presenetation/publish-* 2012-08-19 17:20:15 -04:00
Fred Dixon
f2f75067ec Changed logging for presentation.rb to /var/log/bigbluebutton/presentation/ 2012-08-19 17:17:11 -04:00
Chad Pilkey
599f16863d chat, slides, and thumbnails are all accessible now 2012-08-10 19:31:36 +00:00
Gustavo Salazar
a85e8c144e Use webm for webcam in playback. 2012-08-07 16:36:52 -05:00
Gustavo Salazar
e523dbf9e6 Merge pull request #55 from mconf/video-playback-into-master
Video playback
2012-08-03 09:08:25 -07:00
Markos Calderon
2e8715988b Fix for event urls and support for https 2012-08-01 18:55:50 -05:00
Felipe Cecagno
e8dc780c37 integrated the video playback into master, but the whiteboard events playback, as well as the presentation playback, is not functional yet - it seems that the writing.js is broken on master, tried to fix it without success 2012-08-01 17:40:58 -03:00
Fred Dixon
74a28b285d First implementation of playback of all presentation events (slides, mouse, pan/zoom, and whiteboard) 2012-07-17 15:39:44 -04:00