Commit Graph

214 Commits

Author SHA1 Message Date
Gustavo Salazar
fb013e751f support bbb_version in events.xml 2014-05-06 14:42:03 -05:00
Gustavo Salazar
ab648a5f73 pass only meeting id to post publish script 2014-05-05 18:27:26 -05:00
Gustavo Salazar
efda95fed6 delete temp files 2014-04-29 10:33:23 -05:00
Gustavo Salazar
b1e82fe58d post scripts for record and playback 2014-04-24 19:08:06 -05:00
Gustavo Salazar
4989b195f4 set absolute path to ffmpeg 2014-04-07 12:14:47 -07:00
Richard Alam
460dfb52bf - modify scripts so we can run it manually 2014-04-03 20:23:49 +00:00
Gustavo Salazar
ff96b6a97a absolute path to ffmpeg and ffprobe. 2014-03-31 18:13:52 -05:00
Fred Dixon
332824a42c Fixes so rap-worker.rb executes 2014-03-26 23:52:59 +00:00
Gustavo Salazar
99866d43a7 Print audio file name with problems. 2014-01-30 10:45:43 -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
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
de0bac6f76 Skip corrupt/empty audio files when processing recording.
Now when an empty/corrupt audio file is detected, it will be replaced
with silence.
2013-10-18 11:39:03 -04:00
Calvin Walton
8facc0899e Check for corrupt video files, don't attempt to render them
A corrupt video file is defined as one where ffprobe either finds no
video stream, or it finds a video stream but cannot read any frames.
2013-10-11 11:19:40 -04:00
Richard Alam
92a31599f9 Merge pull request #270 from kepstin/presentation-resiliance
Make generation of png images for pdf pages more resiliant.
2013-10-04 12:50:22 -07: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
Felipe Cecagno
8830951ac0 to specify the duration on ffmpeg we use -t instead of -to 2013-10-04 11:04:21 -03:00
Felipe Cecagno
00d0eb7b43 we only to the match between the video events and the record status events AFTER the webcam and deskshare merge 2013-10-04 11:03:49 -03:00
Gustavo Salazar
5dff55fb13 remove audio extension in webcam processing for matterhorn 2013-10-03 13:50:31 -05:00
Felipe Cecagno
d8b3375f48 we don't want to archive recordings in which there's no mark to start the recording; it would be the same as if the meeting would be created with record=false - the only difference is that the events are archived to recordings/raw/meeting_id/events.xml, and the recorded .done flag is created as well 2013-10-02 14:18:26 -03:00
Gustavo Salazar
ca6e32bc93 separate scaling and padding commands for deskshare 2013-10-01 17:11:23 -05:00
Gustavo Salazar
cfc6b3385b set sample rate 2013-10-01 17:05:55 -05:00
Gustavo Salazar
5d5d135557 set video quality 2013-10-01 16:53:39 -05:00
Guilherme Augusto Dias
00d4c69f78 Fix audio processing issue
Fix an issue that occurs on processing recordings with no audio
2013-09-27 19:26:33 +00:00
Felipe Cecagno
32b52fefb8 start and stop recording marks are being considered in all medias (audio, video and deskshare); still needs to figure out the inconsistency when the last participant leaves the conference while it's being recorded, but couple of seconds later another participant joins the meeting; the problem is that after the last user leaves the conference, the scope is deleted so the recording flag is lost, and when the scope is created again, the recording flag has the default value, that is false; also, what should we do if the user doesn't click on the recording button? how to differentiate recordings made in a version with or without the recording button? 2013-09-25 00:34:15 -03:00
Felipe Cecagno
cf8b31591c this commit is an unfinished work; the new code that generates the audio and video files in the recording is being adapted to take into account the recording marks; the audio is done, but video and desktop sharing is still missing 2013-09-24 18:03:12 -03: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
33d98bbff2 implemented the record button both client-side and server-side; still needs more work on the processing scripts; still needs to update the record button icons 2013-09-23 18:33:30 -03:00
Felipe Cecagno
54a34b4475 Merge branch 'record-button' of github.com:fcecagno/bigbluebutton into record-button
Conflicts:
	record-and-playback/core/lib/recordandplayback/generators/events.rb
2013-09-18 18:02:18 -03:00
Calvin Walton
ca9a4c2b92 Bump the max difference for audio stretch up to 5% 2013-08-26 13:33:23 -04:00
Calvin Walton
c2884bdb9d Add missing license header to edl.rb 2013-08-26 11:44:22 -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
Calvin Walton
0fa60e2bc3 Use the old sox trim syntax for the version on ubuntu lucid 2013-08-15 13:36:52 -04:00
Calvin Walton
6b56c4103d Correct variable name to refer to original audio length 2013-08-15 13:34:19 -04:00
Calvin Walton
d2afbe9383 Convert timestamps to numbers for subtraction 2013-08-15 13:30:36 -04:00
Calvin Walton
acbd0e5b7e Stretch freeswitch audio to match event timing
This helps maintain audio sync with video and events when freeswitch's
internal timing differs from red5's.
2013-08-14 17:25:10 -04:00
Guilherme Augusto Dias
daa32dab41 Fix slicing process
Fix events timestamp and duration
2013-08-01 13:59:02 +00:00
Guilherme Augusto Dias
dc249bf347 Slice timeline
Slice timeline according to START/STOP record events
2013-07-29 16:45:56 +00:00
Guilherme Augusto Dias
1122f7d298 Fix playback host address
Fix playback host address on configuration files
2013-07-29 16:28:04 +00:00
Calvin Walton
a5091ba3e8 RaP: Remove the ffmpeg version check, hardcode arguments for 0.11+
For BigBlueButton 0.81, we just require that you install ffmpeg 0.11.x
for recordings to function correctly. I'll also add a check to bbb-conf
to verify that the correct ffmpeg is available.
2013-07-23 15:46:47 -04:00
Guilherme Augusto Dias
04ff2f2074 Slicing audio events list
The event processing method slices the audio events list according to record events
2013-07-18 14:53:33 +00:00
Guilherme Augusto Dias
f0a86a8ae9 Changed trim audio method
The old audio file is kept and it's possible to set the start mark
2013-07-18 13:41:29 +00:00
Guilherme Augusto Dias
d402f95776 Handling START/STOP record events
Changed Events module: possible to retrieve and match record events
2013-07-18 13:15:09 +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
Gustavo Salazar
bed598ca7a remove events and files for webcam streams with length zero 2013-07-15 15:22:39 -05:00
Felipe Cecagno
6f7baabc3c starting to develop the record button using part of guga's code (https://github.com/gugat/bbb-record-button) 2013-06-17 14:23:45 -03:00
Felipe Cecagno
80a8792597 Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into sync-playback 2013-07-12 22:23:52 -03:00
Gustavo Salazar
9b5e42223f Accept meeting id to create manifest.xml 2013-07-03 15:42:21 -05:00
Felipe Cecagno
e8b9ffab4d Merge branch 'master' of git://github.com/bigbluebutton/bigbluebutton into sync-playback 2013-07-01 15:33:09 -03:00
Felipe Cecagno
b176ef090f fixing the incorrect handling of the last timeline event on video processing 2013-07-01 15:32:25 -03:00
Gustavo Salazar
d63fbac298 Create missing start events for webcam streams fix #1561 2013-06-20 15:45:26 -05: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
fda4e203f9 extracted FFMPEG_LOG_LEVEL to a module constant, and use it in all FFmpeg commands; now it's easy to increase the log level during development 2013-06-14 17:44:10 -03:00
Felipe Cecagno
8ca4e949aa modified the BigBlueButton.execute method so it can raise an exception when the command passed didn't finish successfully; you can optionally pass fail_on_error=false so it won't raise an exception 2013-06-14 17:39:29 -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
0aa1c9867c support ingest for matterhorn 1.4 2013-06-07 16:27:14 -05:00
Gustavo Salazar
2ae224765e a log file by meeting in archive phase 2013-04-29 16:03:21 -05:00
Gustavo Salazar
4c60948ae0 Merge pull request #77 from fcecagno/fixing-video-processing
fixing the start-stop camera events matches, so now even if there's no s...
2013-04-28 17:40:50 -07:00
Gustavo Salazar
0166939205 use the 'Crop Box' of pdf page 2013-04-05 14:00:13 -05:00
Gustavo Salazar
7fe05d349f sanity check for webcam and deskshare 2013-04-04 15:08:49 -05:00
Gustavo Salazar
406e467c8b set audio sample rate according to the recorded audio file 2013-02-13 14:42:23 -05:00
Gustavo Salazar
c761ef0bf1 generate tail padding when processing audio 2013-01-23 12:44:20 -05:00
Felipe Cecagno
5176e508dd fixing the start-stop camera events matches, so now even if there's no stop video event, the video processing will run smoothly 2012-12-06 21:28:13 -02:00
Gustavo Salazar
5d53bdfd4a Send one video stream(webcam OR deskshare) to Matterhorn server 2012-10-24 13:40:41 -05:00
Gustavo Salazar
ac32c59029 Extract pdf page in a temp dir 2012-10-23 13:53:43 -05:00
Gustavo Salazar
f3c8477b27 Fixed frame rate in mpg file 2012-09-28 11:52:35 -05:00
Gustavo Salazar
aa3350115d Ask for ffmpeg version before using loop parameter. 2012-09-25 20:08:52 -05:00
Gustavo Salazar
2462802d54 Change ffmpeg commands to support version 0.11.2 2012-09-21 17:27:11 -05:00
gustavo salazar
6d90e31b85 Set playback_host in bigbluebutton.yml 2012-09-10 16:12:10 -05:00
Gustavo Salazar
f5ee8b6cbf Update license. 2012-09-04 16:42:13 -05:00
Markos Calderon
5bb870b385 Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into add-sanity-check 2012-08-30 16:13:44 -05:00
Gustavo Salazar
a8fae3bbf9 Ask if duration of video is 0. 2012-08-28 14:38:23 -05:00
Gustavo Salazar
63c421abd5 Remove options used by libx264. 2012-08-27 17:34:08 -05: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
Markos Calderon
0c9e45682e added failed status 2012-08-21 16:55:41 -05:00
Markos Calderon
d75ca5dca4 finish testing of sanity check 2012-08-20 18:12:58 -05:00
Markos Calderon
9d9bf10e81 pending changes in rap-worker 2012-08-15 19:10:29 -05:00
Markos Calderon
7fb265e756 adding sanity check 2012-08-13 15:22:53 -05: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
Richard Alam
4ee4eb79cc - strip controls chars from chat messages as it fails the process of recordings 2012-05-12 23:17:38 -07:00
Richard Alam
93b274f4c8 - fix http://code.google.com/p/bigbluebutton/issues/detail?id=1087 2012-05-16 19:11:00 +00:00
Richard Alam
7b1ff2d4bb - add utf-8 encoding magic comment to recording ruby scripts
http://blog.grayproductions.net/articles/understanding_m17n
2012-05-03 18:56:01 +00:00
Gustavo Salazar
6c85a36005 Convert timestamp to float so when dividing the result will contain
decimals
2012-02-17 13:02:52 -05:00
Markos Calderon
2f7a2afe9c fix for video processing in long meetings 2012-01-26 10:30:57 -08:00
Richard Alam
ef85442a1b - trim audio file when they overlap 2012-01-18 17:29:14 +00:00
Richard Alam
3659effee3 Fix http://code.google.com/p/bigbluebutton/issues/detail?id=982
- if the length from header info is zero (corrupted header http://comments.gmane.org/gmane.comp.audio.sox/2637)
   determine length from file size and then fix the file to have proper length in header info.
2012-01-16 21:03:04 +00:00
Markos Calderon
4a797ecdc1 Merge remote branch 'gugat/issue1106' 2012-01-06 09:17:06 -08:00
gugat
d685a5456a Return silence with lenght of the recording when there is not audio file. 2012-01-06 11:35:02 -05:00
gugat
ea2c453807 Add info log messages from each method of generators
Add info log messages from publish script of slides. The log was empty before, was just created.
Add --check option to bbb-record. Taking same logic from bbb-conf and adding info about the failed task with each error.
2012-01-05 17:07:34 -05:00
Markos Calderon
77f664c6bd checking dirs instead of done files 2011-12-07 13:18:21 -08:00
Markos Calderon
c95a8bc56a adding a checking in rap-worker 2011-12-06 12:22:35 -08:00
Markos Calderon
e5d511239a fixed issue 1074 2011-11-22 16:04:08 -08:00
gugat
381e120c65 Use ffmpeg to concatenate videos. Mencoder command hangs with popen. 2011-11-21 09:03:41 -08:00
Fred Dixon
a3849c9a52 Removed old comments from rap-worker.rb 2011-11-20 11:16:11 -08:00
Richard Alam
62c3b220a1 change silence limit from 10 to 60 minutes as some people join the meeting very early
and thus prevents the recording from being processed.
2011-11-15 10:19:12 -05:00
Markos Calderon
7b511015e2 fix for jpg images in playback 2011-11-10 08:59:41 -08:00
Fred Dixon
ccc87f0831 Temporarily disabled messages 'Skipping ... ' from record and playback scripts as they generate large log files 2011-09-27 08:49:06 -07:00