Commit Graph

1138 Commits

Author SHA1 Message Date
Fred Dixon
056ef6ee8c
Merge pull request #7327 from ritzalam/add-redis-password-on-master
Add redis password on master
2019-05-09 16:35:42 -04:00
Calvin Walton
2ed0412f5c Revert "Revert "Rename notes playback nginx file""
This reverts commit 9ad783fab0.

We ended up not being able to rename the etherpad nginx file, so this
recording format has to go back to using a different name.
2019-05-09 13:44:48 -04:00
Calvin Walton
5c09ea5605 Merge branch 'archive-note' of https://github.com/fcecagno/bigbluebutton 2019-05-09 13:43:48 -04:00
Fred Dixon
0d9220051f
Merge pull request #7357 from kepstin/archive-text-cleanup
Recording: Strip control characters in whiteboard text events
2019-05-08 10:10:25 -04:00
Calvin Walton
548ac7edef Recording: Strip control characters in whiteboard text events
Sometimes when text is pasted into the whiteboard text tool from
external apps, it'll include control characters that mess up later
recording processing scripts.

Run the same cleanup as already used for chat messages on the whiteboard
text as well.

The cleanup has been adjusted to allow newline and tab characters. They
won't really cause issues in chat, and newlines (at a minimum) are
required for the whiteboard.

This is a workaround for #7356
2019-05-07 11:48:20 -04:00
Richard Alam
bf7898225b - minor cleanup 2019-04-30 12:30:59 -07:00
Felipe Cecagno
9ad783fab0 Revert "Rename notes playback nginx file"
This reverts commit 7f36112dd3.
2019-04-15 13:50:12 -03:00
Felipe Cecagno
109bb7b658 cleanup 2019-04-15 12:36:05 -03:00
Ghazi Triki
757d92cc29 Raise an error when the note file header does not respond with a HTTPOK status. 2019-04-15 15:07:03 +01:00
Ghazi Triki
92a4bc7e52 Replaced wget and curl commands by net/http module. 2019-04-04 14:09:49 +01:00
Richard Alam
f2098bc376 Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into ritzalam-add-redis-password-on-v2.2-dev 2019-04-02 10:43:46 -07:00
Felipe Cecagno
f70331cbba update notes formats archived 2019-03-18 14:33:29 -03:00
Pedro Beschorner Marin
7e5c5c29ed Avoid publishing empty notes 2019-03-15 17:19:54 -03:00
Pedro Beschorner Marin
7f36112dd3 Rename notes playback nginx file 2019-03-15 17:19:10 -03:00
Felipe Cecagno
51b9b91dae rename note to notes 2019-03-11 23:56:29 -03:00
Felipe Cecagno
f1f56bd868 implement the first version of the note playback 2019-03-06 15:47:00 -03:00
Felipe Cecagno
3467d912c7 fix typo 2019-03-05 13:22:10 -03:00
Felipe Cecagno
657a3ef013 use etherpad api to archive exported note 2019-03-05 13:17:48 -03:00
Calvin Walton
010153cbb9 Recording: Remove the red5 race workaround that delays processing
This was added to workaround for red5 taking a while to rewrite the
serialized (.ser) data that it streams to disk back to the .flv format.

The workaround is no longer needed, for two reasons:
* The sanity scripts run the red5 code to generate the .flv from the .ser
  if needed, and
* We're expecting more people to be using WebRTC media in the future anyways

This makes recordings available up to 2 minutes earlier than they would have
been otherwise.
2019-02-28 11:13:12 -05:00
Calvin Walton
6a69274092
Merge pull request #6868 from kepstin/rec-event-sort
Recording archive: log when events are are out of order and must be sorted
2019-02-26 14:18:21 -05:00
Calvin Walton
49a86e4d4e Recording archive: log when events are are out of order and must be sorted
To help us track down exactly why this is happening - and know when we've
properly fixed it - add some logging.
2019-02-26 12:10:21 -05:00
Fred Dixon
45c228d2ea
Merge pull request #6864 from kepstin/rec-event-sort
Recording events archiver: fix syntax errors
2019-02-25 17:57:26 -05:00
Calvin Walton
abc8284052 Recording events archiver: fix syntax errors
I had renamed prev_event to previous_event, but missed a couple of spots.
2019-02-25 16:43:27 -05:00
Fred Dixon
bc525baf07
Merge pull request #6848 from pedrobmarin/acorn-load
Playback loading closed captions
2019-02-25 12:41:49 -05:00
Calvin Walton
5d189be062 Sort events when writing the events.xml file
BigBlueButton can sometimes write events out of order - this particularly
seems to affect the final RecordStatusEvent in a meeting which was ended
while recording was still running. This breaks the recording processing
scripts.

As a workaround, sort the events as they're being written into the events.xml
file. We have the following properties:

* The input data is already mostly sorted
* Items in the wrong position will be no more than a couple spots off from where
  they should be
* We should not change the relative order of events with the same timestamp.

The best algorithm to use here is a simple insertion sort. When adding each new
event to the XML structure, it scans backwards through existing events until it
finds the correct position.

For #6035
2019-02-25 12:34:29 -05:00
Pedro Beschorner Marin
4f4f668116 Moving media sync for after screenshare is loaded 2019-02-22 17:46:45 -03:00
Pedro Beschorner Marin
3635cea2b5 Waiting media to be ready before loading acorn controls 2019-02-22 17:46:45 -03:00
Calvin Walton
1e76256ea5 Recording: Fix handling of links in chat messages
At some point, BigBlueButton switched from using `"` to `'` in the link tags in
chat messages, which caused the regular expression that was supposed to remove
the `event:` prefix to not match.

I've replaced the error-prone regular expression with an actual HTML parser,
using the "Loofah" HTML transformation/sanitization library based on Nokogiri.

I've removed the code that detected unlinked URLs, since it was broken - and
not needed: current BigBlueButton versions do the link detection in the client.
If someone reprocesses a really old BBB recording with these scripts, URLs in
chat might not be linked in the result. But they wouldn't have been linked in the
client in the original meeting either, so I figure that's ok.

Fixes #6475
2019-02-20 12:03:24 -05:00
Calvin Walton
d9f6ec7560 Revert "Wait until the media is ready before initializing the acorn player."
This reverts commit 04d31d300f.
2019-02-12 14:36:44 -05:00
Calvin Walton
08125c227b Revert "Fix loading slide images in presentation format"
This reverts commit 4346b0fc9e.
2019-02-12 14:36:36 -05:00
Ghazi Triki
99aa2b5fcc Use the right bigbluebutton user for recording directories. 2019-02-08 17:53:57 +01:00
Fred Dixon
28c9380bdf
Merge pull request #6694 from kepstin/rec-link-event
Fix loading slide images in presentation format
2019-01-31 22:52:00 -05:00
Calvin Walton
4346b0fc9e Fix loading slide images in presentation format
The initialization order change to support captions moved the acorn
initialization to after some of the popcorn init had already run. We
have to move that function to run after we create the acorn player
so it references the correct #video element (since acorn replaces/
moves it during init)
2019-01-31 17:47:48 -05:00
Fred Dixon
566b245e3c
Merge pull request #6385 from pedrobmarin/keep-meeting-events
Created property keepEvents at bbb-web to make redis record the event…
2019-01-24 21:47:50 -05:00
Fred Dixon
b9f9f0b3af
Merge pull request #6635 from kepstin/rec-corrupt-video
Add a check to reject undecodable video streams.
2019-01-24 16:27:54 -05:00
Calvin Walton
52fadaf4a6 Add a check to reject undecodable video streams.
In some cases, ffmpeg will be able to read the file, but the video itself
can't be decoded (missing/corrupt stream headers, for example). In this case,
some of the properties on the stream object will be nil.
Make sure that pix_fmt is present in the probed info, since that's a required
property.
2019-01-24 14:56:48 -05:00
Fred Dixon
fb3bce1d7d
Merge pull request #6561 from kepstin/caption-fixes
Wait until the media is ready before initializing the acorn player.
2019-01-15 14:33:48 -05:00
Calvin Walton
04d31d300f Wait until the media is ready before initializing the acorn player.
Previously, the acorn player was being initialized before the asynchronous
load of captions information completed, meaning that the acorn player didn't
know there were caption tracks, and the CC selector control wasn't available.

Fixes #6463
2019-01-15 14:15:42 -05:00
Fred Dixon
d381cda1a1 Updated nokogiri and rubyzip to later versions 2018-12-17 16:53:38 -06:00
Richard Alam
05c7b5f7e7 Merge branch 'v2.2-dev' into merge-with-v2.2-dev 2018-12-14 15:08:47 -08:00
Richard Alam
229d537f91 - add ability to set redis password on RnP 2018-12-14 14:16:12 -08:00
Richard Alam
1b3895e3aa - add redis password to record and playback scripts 2018-12-14 13:37:21 -08:00
Pedro Beschorner Marin
e365bedafb Copying events.xml from archived recordings 2018-12-13 15:21:10 -02:00
Pedro Beschorner Marin
ebffcb0848 Created property keepEvents at bbb-web to make redis record the events for all meetings 2018-12-11 18:37:31 -02:00
Calvin Walton
beab29d39d Ensure the archiver deletes events from redis for the last segment
Issue #6338

It looks like there was a logic error in the code that was causing it
to break out of the event deletion loop early when deleting events for
the last (or only) segment in a recording. (In this case, last_index
is -1, so i >= last_index is always true).

The trim_events_for call was always succeeding, so the events were
being removed from the event list (meeting:{ID}:recordings key) even
though the events themselves hadn't been deleted in the loop.

I've moved the trim_events_for call to below the event deletion loop
to ensure that if the archive script is interrupted, the events list
will contain all not-yet-deleted events.
2018-12-11 14:03:00 -05:00
Pedro Beschorner Marin
4e3ec0f9b2 Fixes podcast undefined method xpath errors 2018-12-06 10:50:48 -02:00
jfederico
bb078aab20 Updates for backward compatibility to recording-ready-callback script 2018-10-12 21:41:37 +00:00
Calvin Walton
c5810ae953
Merge pull request #6113 from jfederico/record-and-playback
Added script for sending recording ready notifications
2018-10-02 16:17:22 -04:00
jfederico
90e3c6e360 Added script for recording ready notification 2018-10-02 18:57:15 +00:00
Richard Alam
6c7fb11304
Merge pull request #6095 from jfederico/v2.2-dev
Fix meeting tag in recordings migrated from BBB 1.0 and before (fixed #6089)
2018-09-25 16:20:45 -04:00