Commit Graph

173 Commits

Author SHA1 Message Date
Ghazi Triki
9a794f854a Bumped projects version and Flex locales to 0.9 2014-08-13 10:28:08 +01:00
Ghazi Triki
ac7af7dfea Manually bumped all application version to the correct actual version 0.9.0-dev 2014-07-31 17:42:38 +01:00
Calvin Walton
c73fe81e50 rap-worker: Add /usr/local/bin to the path. 2014-07-28 11:02:38 -04:00
Calvin Walton
c82a25f700 recording: Add a 'mkclean' step to video generation
The 'mkclean' tool reorganizes the encoded webm file to optimize it for
streaming. In particular, it moves the index to the start of the file.

This fixes streaming in Chrome, which otherwise had a very long delay
before playback started since it downloaded until it saw the index
before it started playback.

This needs a new dependency added to the bbb-record-core package to
pull in the mkclean tool.
2014-07-23 09:55:03 -04:00
Calvin Walton
86e8394e70 rap-worker: Ensure status directories are created
In some cases, it was attempting to create a status file in a directory
that did not exist yet.
2014-07-23 09:50:52 -04:00
Calvin Walton
11045c7f4a rap-worker: Set log level to 'INFO'
I had it on DEBUG temporarily for testing. The old version used ERROR,
but this made it print virtually no output which made diagnosing
issues difficult.
2014-07-21 15:00:29 -04:00
Calvin Walton
b91a54afa0 record core: Remove hardcoded ffmpeg path
The ffmpeg binary should be looked up using the normal PATH mechanism,
it might not always be installed in the same place.
2014-07-21 14:59:33 -04:00
Calvin Walton
efb44c9dd9 Rewrite rap-worker script in an optimized fashion
It now does much less directory reading, and performance should
scale far better with large numbers of recordings.

Semantics should be mostly unchanged, but there's greater use
of '.fail' files to mark errors, and '.done' files are now removed
after all of the following processing steps complete.

The rap worker no longer relies on processing scripts leaving
behind empty directories; those are now removed where appropriate.
2014-07-21 14:58:46 -04:00
Gustavo Salazar
67422a4450 set version in archive 2014-05-06 17:15:10 -05:00
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