Commit Graph

1300 Commits

Author SHA1 Message Date
Andrei Bautu
18b3fc2684 Remove unused ffmpeg settings 2021-03-10 13:10:54 +02:00
Andrei Bautu
8cc99ef4ab Include comments about ffmpeg settings 2021-03-10 12:58:59 +02:00
Andrei Bautu
d71df37b8a Fix detection of empty video segments 2021-03-10 11:40:18 +02:00
Andrei Bautu
beb66512a0 Recording processing using MP4/OGG temporary files, stream copy, and customizable (lower) frame rates.
Discussion from https://github.com/bigbluebutton/bigbluebutton/issues/2483
2021-03-08 20:14:48 +02:00
Anton Georgiev
228bad03d5 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into march4-merge 2021-03-04 21:25:47 +00:00
Calvin Walton
48956ce63f Add some extra docs/setup instructions to the analytics callback script 2021-03-02 16:19:26 -05:00
Pedro Beschorner Marin
c0a7f9cd92 Replace FNV32a pad's id generator with salted SHA1
When managing Etherpad's pads, Meteor makes API calls to initiate the closed captions
and shared notes modules. The pad id was being mapped to a shorter id than the meeting
id because of a Etherpad lenght limitation.

Changed to something less guessable.
2021-02-09 12:59:59 -03:00
dependabot[bot]
db55b0c4eb
Bump nokogiri from 1.10.8 to 1.11.0 in /record-and-playback/core
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.8 to 1.11.0.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.8...v1.11.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-09 00:28:29 +00:00
Felipe Cecagno
47af1a391b publish presentation format to use the new bbb-playback; redirect 2.0 to 2.3 by default 2020-12-20 21:43:54 -03:00
Fred Dixon
e08ff14c52
Update events_worker.rb
Fix file existence test.
2020-12-20 18:38:18 -04:00
Anton Georgiev
c1ffced27d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into develop 2020-12-17 21:14:29 +00:00
Jesus Federico
163d40652a
Update post_events_analytics_callback.rb 2020-12-10 17:23:01 -05:00
Anton Georgiev
d3dae5828a
Merge pull request #10984 from defnull/patch-nfs
Fix: Presentation publishing fails when run on NFS storage
2020-12-08 20:05:46 -05:00
Anton Georgiev
cf7ca49760
Merge pull request #10966 from pedrobmarin/shared-notes-at-playback
Publish recorded shared notes' content
2020-12-08 16:52:39 -05:00
Marcel Hellkamp
9b17dab2e6 Fix: Presentation publishing fails when run on NFS storage
PR #9857 was incomplete and did not completely fix the issues described in #9062 and #9110 (dublicate).
2020-12-07 16:10:54 +01:00
Fred Dixon
00bf08eea7 Fix permissions on systemd scripts for recording processing 2020-12-06 15:40:00 -06:00
Pedro Beschorner Marin
7206b8acc3 Publish recorded shared notes' content
Collects the shared notes' HTML raw data and publishes it along with the other
recording files. The playback will fetch for this file and include an option to
display it's content over the chat.
2020-12-04 09:08:43 -03:00
beckerr-rzht
9eee10eee1
Merge branch 'develop' into develop 2020-12-04 09:45:21 +01:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
Fred Dixon
78ced5d41d
Merge pull request #10533 from kepstin/rec-fixes
Recording: Skip shapes with missing "thickness" attribute
2020-09-25 16:59:17 -04:00
Calvin Walton
86c821f4c5 Recording: Skip shapes with missing "thickness" attribute
Not sure what causes this issue, but there's nothing reasonable that can
be done to draw a shape with no thickness. Just skip it.
2020-09-25 16:13:29 -04:00
Calvin Walton
1866eb7194 Perform captions generation in UTF-16 encoding
The indexes returned in recording events from BBB refer to positions
within a UTF-16 encoded string. Rather than attempt to untangle this in
the server (which might have a performance cost), it's easier to switch
the caption processing code to operate in UTF-16 encoding as well to
make it work consistently.

The PyICU library provides a UnicodeString type which is a UTF-16 string
similar to Java and JavaScript, but which supports all the python
indexing methods. It's fairly straightforwards to swap it in in place of
the types used previously, and works natively as an input to the ICU
line break iterator too.

Fixes #10531
2020-09-25 12:39:18 -04:00
Calvin Walton
1268753519 Fix io deadlock in recording scripts process execution utilities
The previous implementation of the BigBlueButton.execute method runs the
process with separate stdout and stderr streams. It first reads all of
the output from stdout, then reads all of the output from stderr.

This can cause a deadlock if the process writes a lot of data to stderr.
The IO buffer for stderr could fill, blocking progress. But since it
hasn't closed stdout, the ruby script is still waiting on a read to
stdout.

Switch to an execution method (using IO.popen) that allows combining
stdout and stderr into a single stream, eliminating the issue.
2020-09-23 16:16:57 -04:00
hiroshisuga
5caf825d42
Update rap-starter.rb
probably a simple typo
2020-09-01 22:05:37 +09:00
Anton Georgiev
b1e73281e4
Merge pull request #10158 from sebastianberm/sebastianberm-patch-chatplayback
Fix newlines in playback of chat
2020-08-25 11:28:02 -04:00
Anton Georgiev
f9d1079b41
Merge pull request #10238 from kepstin/rec-fixes-develop
Events archiver: Strip more invalid characters
2020-08-25 08:36:20 -04:00
hiroshisuga
3cbe9abaf0 events_archiver.rb: Handle an empty meeting_metadata hash from redis
On my server 2.3 alpha, the method metadata_for(meeting_id) gives back {}
(empty Hash). Thus "return if meeting_metadata.nil?" does not occur.

Does @redis.hgetall give {} instead of nil, even though there is a comment in
node_modules/redis/lib/utils.js "hgetall converts its replies to an Object. If
the reply is empty, null is returned"???
2020-08-13 15:46:40 -04:00
hiroshisuga
dc0fc459e2 events_archiver.rb: Handle an empty meeting_metadata hash from redis
On my server 2.3 alpha, the method metadata_for(meeting_id) gives back {}
(empty Hash). Thus "return if meeting_metadata.nil?" does not occur.

Does @redis.hgetall give {} instead of nil, even though there is a comment in
node_modules/redis/lib/utils.js "hgetall converts its replies to an Object. If
the reply is empty, null is returned"???
2020-08-13 15:42:22 -04:00
Calvin Walton
659893051d Events archiver: Strip more invalid characters
Update the list of invalid characters based on what the XML
specification permits and discourages.

Use the ruby string `scrub` method to remove invalid characters that
can't be expressed in the `tr` syntax, like unpaired surrogates and
UTF-8 prefix bytes.
2020-08-11 14:15:29 -04:00
Sebastian Berm
0d66e86f83
Added function to library 2020-07-30 11:19:54 +02:00
Sebastian Berm
dbb8575771
Update to playback to support br's with newlines. 2020-07-30 11:17:53 +02:00
Jesus Federico
0bbe69b74d
added post_events scripts (example and analytics callback) (#10080)
* added post_events example and analytics callback

* updated dependency
2020-07-17 14:34:57 -04:00
Anton Georgiev
b0e1dc8378 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-2.3-july-6 2020-07-07 14:35:34 +00:00
Anton Georgiev
420f8bf0a4 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-2.3-july-6 2020-07-07 14:13:58 +00:00
Pedro Beschorner Marin
44fc68c07c Skip recording process step for norecord meetings 2020-07-01 12:33:41 -03:00
Pedro Beschorner Marin
526f79e8f2 Merge remote-tracking branch 'bigbluebutton/v2.2.x-release' into bigbluebutton/develop 2020-06-30 18:15:18 -03:00
dependabot[bot]
151de8f375
Bump rack from 2.1.1 to 2.2.3 in /record-and-playback/core
Bumps [rack](https://github.com/rack/rack) from 2.1.1 to 2.2.3.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/2.1.1...2.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-26 01:19:32 +00:00
Calvin Walton
3d800b68f1 Fix generation of fallback images if the presentationName contains spaces 2020-06-24 12:12:19 -04:00
Calvin Walton
b4456e323a Skip copying presentation thumbnails if they don't exist 2020-06-24 11:42:58 -04:00
Calvin Walton
26f5450245 Fix removing reconnect indicator from usernames when counting participants 2020-06-24 11:23:59 -04:00
mw781
f60059c983 Ensure that files are handled safely 2 2020-06-17 11:13:07 +01:00
mw781
fea0ff3204 Ensure that files are handled safely
This commit fixes an issue with reading and writing files.
File.open is used which means that a file will remain open
unless explicilty closed or the program exit. This doesn't work
for an NFS mount as the scripts try to "rm -rf" when the file
is still open. This commit fixes that by replacing all .opens
with .reads
2020-06-17 11:09:09 +01:00
Joao Siebel
3e95ed0e4b Merge remote-tracking branch 'upstream/v2.2.x-release' into merge-2.2 2020-06-16 16:40:56 -03:00
Anton Georgiev
73a4bcd423
Merge pull request #9649 from fcecagno/rap-sort-process
Sort sanity files so it processes older recordings first
2020-05-28 16:04:18 -04:00
Anton Georgiev
5e90092fac
Merge pull request #8999 from kepstin/missing-font-size
presentation: ignore text shapes with missing calcedFontSize
2020-05-26 10:28:19 -04:00
Fred Dixon
13d123058a
Merge pull request #9671 from kepstin/missing-font-size
presentation: ignore text shapes with missing calcedFontSize
2020-05-25 18:19:53 -04:00
Anton Georgiev
c9e996de21 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop 2020-05-25 17:32:24 +00:00
Felipe Cecagno
fc95e052a6 Sort sanity files so it processes older recordings first 2020-05-23 01:28:43 -03:00
Fred Dixon
e48e5bf336 Fix presenation playback on iPad for iOS 13 2020-05-16 10:28:28 -05:00
beckerr-rzht
d8cb64c129
[FIX] playback doesn't start in iPadOS
Playback a presentation does not start on iPad with iPadOS 13 and higher.
The root cause is that `mobileAndTabletCheck` does not detect an iPad as mobile device.
The reasons for this are discussed here:  https://github.com/serbanghita/Mobile-Detect/issues/795
A way to detect Safari on IPadOS as mobile device is described here: https://stackoverflow.com/a/60553965
I've added a function `detectLyingiOS13iPad` to work around this problem.
2020-05-10 17:53:22 +02:00