Commit Graph

216 Commits

Author SHA1 Message Date
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
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
Felipe Cecagno
fc95e052a6 Sort sanity files so it processes older recordings first 2020-05-23 01:28:43 -03:00
Pedro Beschorner Marin
d97f413ef6 Fix note id 2020-04-29 13:08:10 -03:00
Pedro Beschorner Marin
beda54fb09 Included Etherpad's data as events to be stored 2020-04-27 10:48:52 -03:00
Calvin Walton
a5a46b2c0a Have the recording archive delete originals of archived media
After the last segment of a recording has been archived, it is safe to
delete the original files that were recorded by the various media
handling components. This patch deletes the freeswitch audio files and
kurento webcam/screenshare files after they have been archived.

It needs to be used in combination with some changes to users/groups and
directory permissions to allow the `bigbluebutton` user to delete files
that it could previously only read.
2020-03-27 15:22:53 -04:00
Fred Dixon
dd2ae19ca0
Merge pull request #8277 from SilentFlameCR/master
edited rap-caption-inbox.rb to get appropriate files in presentation
2019-11-22 23:11:18 +01:00
SilentFlameCR
b88b70d945 edited rap-caption-inbox.rb to get appropriate files in presentation 2019-10-30 13:10:24 -04:00
Calvin Walton
8283bc16f0 recording archive: Archive freeswitch audio in formats other than wav 2019-10-28 13:47:33 -04:00
Calvin Walton
8bdcea424d Fix typos in archive script 2019-10-23 10:16:29 -04:00
Calvin Walton
cad8995858 recording archive: Compress audio files
The wav files from the freeswitch recordings are huge, uncompressed.
There's no reason to keep them as wav, we can compress them in the
archive step.
2019-10-22 17:27:23 -04:00
Richard Alam
e409190114 - convert tabs to spaces 2019-07-10 13:09:38 -07:00
Richard Alam
ec1343931c - add comments to explain how rap-archive-worker and rap-events-worker work together 2019-07-05 08:57:51 -07:00
Richard Alam
40c6dd8827 - run post events scripts 2019-07-05 08:57:22 -07:00
Richard Alam
61d9223a70 - format spaces to tabs 2019-07-04 11:07:57 -07:00
Richard Alam
82bd5e4a6f - run keep-events worker separate from archive-worker 2019-07-04 11:00:59 -07:00
Calvin Walton
4c1e2ed477 RaP: Reduce ffmpeg output spam in logs of caption inbox 2019-06-06 10:49:27 -04:00
Calvin Walton
7f92b58140 RaP: Dir.glob accepts a block directly, no need for a temp variable 2019-06-06 10:44:47 -04:00
Calvin Walton
620ed367be RaP: glob is a method on Dir, not File 2019-06-06 10:43:40 -04:00
Calvin Walton
94ae7c330b RaP: Use correct variable to get info for new caption track 2019-06-06 10:41:14 -04:00
Calvin Walton
aecb66e28d RaP: Create the recording captions dir before moving the converted vtt file 2019-06-06 10:34:08 -04:00
Calvin Walton
07688593ac caption-inbox: clean up track file if language tag is invalid 2019-06-04 14:28:58 -04:00
Calvin Walton
f693915e99 RaP captions: Fix usage of JSON.parse, use a proc to capture local vars 2019-06-04 14:01:51 -04:00
Calvin Walton
f04bf290af Fix requires for journald-logger 2019-06-04 12:18:46 -04:00
Calvin Walton
983751c9c0 RaP: Have the caption inbox run the caption integration scripts. 2019-06-04 11:03:22 -04:00
Calvin Walton
676fa41f06 Add caption integration script for presentation format. 2019-06-04 11:03:22 -04:00
Calvin Walton
b22c905194 rap-caption-inbox: improve formatting, initial pass at conversion
It now attempts to convert the uploaded caption file to WebVTT and
updates the index file.
2019-06-04 11:03:22 -04:00
Calvin Walton
c6e09f52a1 RaP Caption inbox: read uploaded caption json file
Some additional validation/normalization is added for the language tag,
and some cleanup has been done for logging.
2019-06-04 11:03:22 -04:00
Calvin Walton
23da507fa8 Initial outline of the rap worker tool for handling the caption inbox
Rather than running the tool in a loop, I'm using inotify to watch for
new files being created (ideally, the other rap workers will be migrated
to this style in the future). The trigger for processing is the creation
of the .json index file for the uploaded track.
2019-06-04 11:03:22 -04:00
Ghazi Triki
c9194d087e Correctly process captions. 2019-05-13 21:38:51 +01:00
Ghazi Triki
7c5727750f Merge remote-tracking branch 'bigbluebutton/master' into text-tracks 2019-05-13 14:46:20 +01:00
Ghazi Triki
b578aeb243 Move captions.rb to utils directory. 2019-05-10 16:56:29 +01:00
Ghazi Triki
dbd86eb096 Code improve. 2019-05-10 15:51:05 +01:00
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
Ghazi Triki
17a3af0487 Write playback caption files from the captions file generated for API. 2019-05-07 18:13:09 +01:00
Ghazi Triki
35506cdc44 Generate captions.json for API. 2019-05-01 16:01:15 +01:00
Ghazi Triki
f820446965 Process caption files before processing meeting files. 2019-04-30 19:54:02 +01:00
Ghazi Triki
925f5a2894 Put captions files in the new directory. 2019-04-22 20:28:54 +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
Felipe Cecagno
51b9b91dae rename note to notes 2019-03-11 23:56:29 -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
Ghazi Triki
99aa2b5fcc Use the right bigbluebutton user for recording directories. 2019-02-08 17:53:57 +01: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