Commit Graph

743 Commits

Author SHA1 Message Date
Calvin Walton
852ea7b822 Revert 'presentation' dir to 0.81 code, add 'presentation2' for 0.9
This fixes an issue where recordings copied from a 0.81 server might
not play back correctly on a 0.9 server.

This changes the 0.9 recording scripts to use playback support files
from a different subdirectory, 'presentation2', while existing 0.81
recordings continue to use the 'presentation' directory.

If the raw files from an old recording are reprocessed, it will
switch to using the newer playback support files.
2014-10-06 16:15:25 -04:00
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
Calvin Walton
913f4a59a0 Switch recording processing to use poppler instead of ghostscript 2014-08-28 14:52:23 -04:00
Calvin Walton
b03dbfe577 RaP: video processing robustness improvements
Makes it handle possibly corrupted video files with less chance of
breakage. Use features from newer ffmpeg release to simplify the video
trimming - in particular, using -ss as an input option is accurate now.
2014-08-28 13:07:26 -04:00
Calvin Walton
614617c2b9 Add the 'mkclean' step for audio-only recordings 2014-08-25 11:22:55 -04:00
Calvin Walton
48735ccc70 Set the audio 'original duration' during initial events parsing
This is the point at which the start/stop events for the audio are
correctly matched up with eachother; doing it later can give
incorrect results if an 'end recording' event was missing from
the events file.
2014-08-25 10:48:17 -04:00
Calvin Walton
c1bb493c10 Fix the 'timestretch' fixup so that seeking is done after stretching
The previous version may have the beginning of the audio off by a bit,
since it was seeking in the audio file to find the start before the
stretch was applied.
2014-08-22 17:07:07 -04:00
Calvin Walton
e5b5b5d49d Increase the audio bitrate in the video generation
Matches the corresponding change in the audio generation.
2014-08-22 16:58:31 -04:00
Calvin Walton
45162ce620 Explicitly use out0 in degenerate concat branch.
There is no i variable here, since there aren't multiple inputs to loop
over.
2014-08-22 16:43:35 -04:00
Calvin Walton
d53e7d21f3 Don't use the ffmpeg concat filter when only one audio segment
The concat filter requires at least 2 segments, it doesn't support
the degenerate case.
2014-08-22 16:41:16 -04:00
Calvin Walton
0841dd4233 Vorbis needs more bitrate for input with higher sample rate/stereo 2014-08-22 16:14:35 -04:00
Calvin Walton
2ac9de71a7 Use the correct timestamp for file start seek 2014-08-22 15:17:10 -04:00
Calvin Walton
7b205bdbf7 Rewrite audio processing to use ffmpeg
There's some fairly major changes here, including:

* All audio is resampled to 48kHz stereo on input, allowing files with
  non-standard or varying rates to be mixed
* The audio processing is now done in a single pass; ffmpeg reads all
  inputs, concatenates them, and outputs one file.
2014-08-22 15:04:14 -04:00
Richard Alam
c56fde0c42 Merge pull request #348 from speakserve/unify-version-number
Unify version number
2014-08-13 14:17:45 -04:00
Ghazi Triki
bb09eb6d75 After checking we bumped projects version and Flex locales to 0.9.0 with some fixes 2014-08-13 12:20:10 +01:00
Ghazi Triki
9a794f854a Bumped projects version and Flex locales to 0.9 2014-08-13 10:28:08 +01:00
Calvin Walton
8f7bf010fd Switch "post" scripts to be a drop-in directory. 2014-08-11 14:57:32 -04: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
6a47005f34 spinner in playback while loading media 2014-04-30 17:35:53 -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
7d291abcfd delete old raw dir from published recordings 2014-04-14 15:14:14 -07: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
Calvin Walton
7b48cacb59 Reverse the check for http response code.
There are many codes other than '404' which indicate that the media
file is not present or otherwise unusable. Instead of checking for
a particular failure mode, check for explicit success.

I ran into this on a server that had directory listing disabled, and
returned a 403 (access denied) error on non-existant files.
2014-03-05 14:42:08 -05:00
Gustavo Salazar
99866d43a7 Print audio file name with problems. 2014-01-30 10:45:43 -05: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
98f1d51461 fixing the handling of multiple drawings from a single shape
bug could be easily reproduced typing text, erase part of it and then type again
2014-01-14 18:17:39 -02: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
Richard Alam
e220f120cc Merge pull request #280 from kepstin/firefox-audio-seek
Switch the order of the audio formats on firefox playback
2013-10-23 13:59:49 -07:00
Calvin Walton
4a45b3610b Switch the order of the audio formats on firefox playback
Firefox has a bug where it can't seek in the audio-only webm files with
no cues, and it seems like they have no intention of fixing this...
Serve up the ogg files first for them.

Adding cues to audio-only webm files is *hard*, there are no standard
tools that support doing this cleanly.
2013-10-23 16:35:21 -04: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
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
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
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
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
0d1c64f3ae Show thumbnail timestamp
The timestamp of first thumbnail is shown when the presentation starts.
2013-10-10 13:06:38 +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
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
f49091c260 Merge branch 'record-button' of https://github.com/guilhermedias/bigbluebutton into record-button 2013-10-04 11:26:48 -03: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
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
Guilherme Augusto Dias
1b6c5a5b58 Highlight thumbnail
The thumbnail of the first slide starts highlighted
2013-10-02 22:31:10 +00: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
c5e4820f25 don't pass the file extension 2013-10-01 17:02:36 -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
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
4abf4f76d4 if the slide time is 0 and you click on his thumbnail, you will want to see &t=0s, not &t= 2013-09-25 01:32:16 -03: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
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
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
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
1bd0d7ee4a Draw multiple shapes
Playback script supports drawing multiple shapes at the same time
2013-09-18 17:59:13 +00: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
2b5aab3224 Change the background color of the video area to white to match
The new scripts render the videos over white, so you get occasional
black bits sneaking in without this.
2013-08-27 11:27:13 -04:00
Calvin Walton
ca9a4c2b92 Bump the max difference for audio stretch up to 5% 2013-08-26 13:33:23 -04: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
c2884bdb9d Add missing license header to edl.rb 2013-08-26 11:44:22 -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
Chad Pilkey
7229d1a45d added back in the playback buffering indicator and fixed some issues with it 2013-08-23 08:54:45 -07:00
Gustavo Salazar
26e6876136 Fix #1606 2013-08-19 20:17:10 -05: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
Chad Pilkey
3f648000a2 add back in the fix for playback acorn media player swap oddities 2013-08-14 12:15:15 -07:00
Chad Pilkey
6b00d4f029 add back in playback headings 2013-08-14 12:05:55 -07:00
Chad Pilkey
b309d8a13b changed the way the playback volume bar is exposed 2013-08-07 15:35:27 -07: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
jtrobinson
872a9c3b14 Volume slider always visible, part of tab order, does not trigger resizing bug 2013-08-02 11:53:11 -07:00
Guilherme Augusto Dias
daa32dab41 Fix slicing process
Fix events timestamp and duration
2013-08-01 13:59:02 +00:00
Chad Pilkey
5ce8fca8de the tab order of the playback controls is set 2013-07-30 16:49:30 -07: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
Gustavo Salazar
7ad90a83b2 Merge pull request #216 from SenecaCDOT-BigBlueButton/second-round-accessibility-fixes
Second round accessibility fixes
2013-07-23 13:32:04 -07: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
Chad Pilkey
486bf82522 added checkbox to conditionally expose chat messages to a screen reader 2013-07-22 15:09:10 -07:00
Chad Pilkey
98b76f9bb0 added content headers to playback.html 2013-07-22 15:08:16 -07:00
Gustavo Salazar
422e7570a0 Merge pull request #213 from kepstin/opaque-recording-slides
RaP: Adjust the 'convert' command to make opaque images
2013-07-18 13:21:15 -07: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
Gustavo Salazar
873961509b Recommended browsers in playback 2013-07-15 15:16:34 -05:00
Fred Dixon
1fbb437c61 Hide option to disalbe auto scroll (no localization yet), updated links to download Chrome and FireFox 2013-06-18 05:28:25 -07: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
Fred Dixon
e08c6802d4 Update configuration to record desktop sharing by default 2013-06-15 08:25:09 -07:00
Felipe Cecagno
80a8792597 Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into sync-playback 2013-07-12 22:23:52 -03:00
Chad Pilkey
77260b1bc2 turning off autoplay in the recording playback 2013-07-12 13:26:26 -07: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
Leonardo Crauss Daronco
c6da73272b Hide unnecessary scroll bars in the playback html 2013-06-19 17:22:07 -03:00
Felipe Cecagno
e53ea59abe Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into playback-improvements 2013-06-19 12:44:38 -03:00
Felipe Cecagno
68db2b5fdc Merge branch 'playback-improvements' of github.com:fcecagno/bigbluebutton into playback-improvements 2013-06-19 12:21:01 -03:00
Leonardo Crauss Daronco
ab73b54fb3 Fix position of elements in the playback after swapping video/presentation
The media controls area (acorn controls) was placed in the wrong position
after swapping video and presentation in the recording playback (and was
still wrong if swapping them again).
2013-06-18 23:19:08 -03:00
Felipe Cecagno
0551764df1 Merge branch 'playback-improvements' of github.com:daronco/bigbluebutton into playback-improvements 2013-06-18 15:53:58 -03:00
Leonardo Crauss Daronco
ce668c55b0 Fix the position of media controls in the playback with video
The media controls area (acorn controls) was being displayed at the
wrong place in the playback of a recording with video. Now it's always
displayed right below the presentation area, doesn't matter if the
recording has video or not.
2013-06-17 22:56:08 -03:00
Felipe Cecagno
820001214c improving the rap deployment script 2013-06-17 14:35:23 -03:00
Leonardo Crauss Daronco
891ae0be49 Reposition auto scroll option and audio bar in the playback html
Audio control bar is bigger and aligns with the presentation. The auto scroll
checkbox is aligned with the thumbnails area.
2013-06-16 01:35:39 -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
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
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
Felipe Cecagno
ac66d49812 Create the auto scroll feature on the slides thumbnails. The idea is that everytime the slide changes because of the synchronized playback, the thumbnails div will scroll to keep the current thumbnail centered in the div. The feature can be disabled using a checkbox. 2013-06-09 15:11:50 -03:00
Felipe Cecagno
c8f2079e64 When the user clicks on a slide thumbnail, the URL changes to index that moment so if the user copies and shares the URL after click on a slide thumbnail, the URL copied will go directly to the correct moment. 2013-06-09 14:51:38 -03:00
Gustavo Salazar
0aa1c9867c support ingest for matterhorn 1.4 2013-06-07 16:27:14 -05:00
Chad Pilkey
e6a93de055 custom start time of recording now works in firefox 2013-06-05 14:05:15 -07: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
Chad Pilkey
58a718951e Fixed the ghost audio by pausing after duplication 2013-05-08 14:39:28 -07: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
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
Fred Dixon
cd4939d44a Modified bbb.playback.css to hide border lines 2013-04-12 21:56:28 -04: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
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
25ef021b7c Fix errors in playback with IE, fix #1342 2013-04-01 18:40:01 -05:00
Chad Pilkey
7fdbcb5152 cleaned up playback.js 2013-03-24 12:30:05 -07:00
Chad Pilkey
ccecba6374 Added button to the control bar that swaps the video and presentation area in the playback 2013-03-24 12:26:53 -07:00
Gustavo Salazar
256a9dc200 set text file only when it exists 2013-02-13 17:13:55 -05:00
Gustavo Salazar
406e467c8b set audio sample rate according to the recorded audio file 2013-02-13 14:42:23 -05:00
Chad Pilkey
6bf3e1c6e5 fixed my botched playback merge from 3 months ago 2013-02-09 14:13:06 -05:00
Gustavo Salazar
cb07415807 load jquery from server 2013-02-08 16:19:15 -05:00
Richard Alam
93311e6464 Merge branch 'master' into merge-master-into-polling-module
Conflicts:
	bigbluebutton-client/build.xml
	bigbluebutton-client/locale/en_US/bbbResources.properties
	bigbluebutton-client/src/BigBlueButton.mxml
2013-02-04 19:34:23 +00:00
Markos Calderon
16ef060da3 Merge remote-tracking branch 'fcecagno/playback-in-time' 2013-02-04 11:04:19 -05:00
Gustavo Salazar
c761ef0bf1 generate tail padding when processing audio 2013-01-23 12:44:20 -05:00
Gustavo Salazar
d6a5b78299 accept image extensions in uppercase 2013-01-23 12:40:01 -05:00
Chad Pilkey
9df127d339 updated popcorn.js to 1.3 2012-12-08 11:14:38 -05:00
Felipe Cecagno
4ad891293c now you can specify &t=0h0m0s on the playback url so the presentation will start from there just like on youtube; also fixed the generation of thumbnails, that was not working properly 2012-12-06 21:31:48 -02: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
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
99ef5f4875 Increase z-index of cursor in playback 2012-10-30 10:56:38 -05:00
Chad Pilkey
0c6e5a0632 Merge remote branch 'origin/master' into poll-access
Conflicts:
	bigbluebutton-client/src/org/bigbluebutton/core/managers/UserManager.as
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
	record-and-playback/presentation/playback/presentation/acornmediaplayer/acornmediaplayer.base.css
	record-and-playback/presentation/playback/presentation/acornmediaplayer/jquery.acornmediaplayer.js
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-captions-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-captions.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-exit-fullscreen-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-exit-fullscreen.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-fullscreen-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-fullscreen.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-pause-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-pause.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-play-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-play.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-transcript-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-transcript.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-volume-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-volume-full-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-volume-full.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/access-volume.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/acorn.access.css
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/button-background-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/button-background-light.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/controls-background-dark.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/access/controls-background-light.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/barebones/acorn.barebones.css
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/acorn.darkglass.css
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-caption.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-exit-fullscreen.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-fullscreen.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-pause.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-play.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-transcript.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-volume-full.png
	record-and-playback/presentation/playback/presentation/acornmediaplayer/themes/darkglass/darkglass-volume.png
	record-and-playback/presentation/playback/presentation/css/bbb.playback.css
	record-and-playback/presentation/playback/presentation/playback.html
2012-10-29 16:03:09 -04: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
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
033e76f5c4 Detect and draw circles in playback 2012-10-22 13:55:44 -05:00
Chad Pilkey
ba26a3697a fixed the firefox fullscreen bug from Issue 1345 2012-10-22 17:01:07 +00: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
bc1382cf79 Merge pull request #68 from capilkey/add-seperate-playback-controls
Add seperate playback controls
2012-10-18 14:48:00 -07:00
Chad Pilkey
ecd09f1f2b in firefox the media can actually load before the jquery is called to add listeners. I fixed it 2012-10-18 18:42:11 +00:00
Chad Pilkey
a81800f822 alternate control theme 2012-10-16 20:02:30 +00:00
Chad Pilkey
451647baf8 fixed controls not displaying for audio source 2012-10-15 20:23:19 +00:00
Chad Pilkey
39bd72f7ce acorn controls working properly 2012-10-15 19:09:56 +00:00
Chad Pilkey
e82a3efed8 initial implementation of controls 2012-10-15 16:11:10 +00:00
Felipe Cecagno
df37f484d7 insert the scroll bar on the chat automatically instead of grow the div indefinitely; little improvement on the deploy script for the recordings 2012-10-11 13:45:14 -03:00
Chad Pilkey
abad84542d fixed new playback controls 2012-10-09 17:33:59 +00:00
Gustavo Salazar
51fe50a811 Do not play video file according to audio file. 2012-10-02 12:22:14 -05:00
Gustavo Salazar
487cf1b51f Align components in playback. 2012-10-02 09:58:27 -05:00