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
775c348ddc
RaP: Add an optional test group which installs e.g. rubocop
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
812052a8c7
Change events archiver to read config from relative path
...
Makes testing easier
2019-06-04 11:03:22 -04:00
Calvin Walton
d74f0044cc
Add function that uses ffmpeg to convert subtitles to webvtt
...
FFmpeg has pretty good format autodetection even if the filename has the
'.txt' extension, so just rely on that. It'll even pull subtitles out of
video files - although I expect we'll have size limits so that doesn't
happen.
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
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
Ghazi Triki
17a3af0487
Write playback caption files from the captions file generated for API.
2019-05-07 18:13:09 +01: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
Ghazi Triki
35506cdc44
Generate captions.json for API.
2019-05-01 16:01:15 +01:00
Richard Alam
bf7898225b
- minor cleanup
2019-04-30 12:30:59 -07: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
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
Calvin Walton
ef007cc1a4
Recording: Switch from vp8 to vp9, use better x264 options
2019-03-17 10:01:39 -04: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
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
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
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
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
Ghazi Triki
99aa2b5fcc
Use the right bigbluebutton
user for recording directories.
2019-02-08 17:53:57 +01: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
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
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
jfederico
494f9b345a
Added jwt and java_properties gems
2018-09-25 20:11:45 +00:00
jfederico
b9f52a2438
Script for fixing meeting tag in recordings migrated from BBB 1.0 and before
2018-09-20 14:23:29 +00:00
Calvin Walton
c43863eff6
Merge branch 'playback-async-requests' of https://github.com/fcecagno/bigbluebutton into v2.2-dev
2018-07-24 09:56:50 -04:00
Felipe Cecagno
dc0fbc9bd1
cleanup
2018-07-12 00:06:14 -03:00
Felipe Cecagno
630224ab72
add support for mp4 in the presentation playback, disabled by default
2018-07-12 00:05:17 -03:00
cody
c603235459
Fixed two issues preventing recordings from being processed and published
2018-07-06 15:58:55 -04:00
Richard Alam
e2133a4273
Merge pull request #5738 from kepstin/bbb-20-rec-fixes
...
Merge BBB 2.0 recording fixes into 2.2 branch as well
2018-06-22 16:08:04 -04:00
Calvin Walton
7da493e23f
RaP: Convert aspect ratio numbers to int before checking value
...
The checks for 0 numerator or denominator were failing due to
type mismatch
2018-06-22 10:06:34 -04:00
Richard Alam
fc3605f301
- merging latest v20-release branch
2018-06-21 07:38:19 -07:00
Calvin Walton
67758e1cc9
RaP: Store rendered audio temp file in target directory, not archive_dir
...
The archive_dir can by the raw recording directory in some recording
formats - including, hopefully, presentation at some point (to avoid the
extra copy)
2018-06-20 16:29:49 -04:00
Richard Alam
14327a1edf
Merge branch 'v2.0.x-release' of github.com:bigbluebutton/bigbluebutton into merge-v20-branch
2018-06-19 12:58:51 -07:00
Calvin Walton
c97f0cb33a
RaP: Calculate video area sizes using aspect ratio
...
The previous calculation used the video size in pixels, which might lead
to stretched/squashed videos in rare cases where the video has non-square
pixels. The new calculation is correct for all video sizes.
2018-06-13 11:18:54 -04:00
Calvin Walton
9c3faf2830
RaP: Fix video start_time checking
...
The video_info function returns the start time already in milliseconds,
so compare against 1ms instead of 1/1000.
2018-06-13 11:18:54 -04:00
Calvin Walton
6388e55209
RaP: Support ffmpeg 4.0 in video processing scripts
...
The ffprobe command in ffmpeg 4.0 now omits the aspect ratio fields in the
json output when indeterminate, instead of returning an invalid value with
0 in the numerator or denominator. Handle this correctly.
2018-06-13 11:18:54 -04:00
Richard Alam
a2eaa9babd
Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into 21-and-20-merge-working-branch
...
- some conflicts have been fixed.
The following needs working on:
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/services/ChatCopy.as
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/services/ChatSaver.as
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatTab.mxml
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatWindowEventHandler.as
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as
both modified: ../bigbluebutton-client/src/org/bigbluebutton/modules/users/views/MediaItemRenderer.mxml
Parking as need to work on something else.
2018-06-06 08:23:13 -07:00
Calvin Walton
4554e3eac7
RaP: Workaround broken seeking in flv after red5 update.
...
Since the update to the newer red5, seeking in flv files (webcams in
particular are noticable) has been broken, resulting in cameras
appearing to "hang" any time there is a cut in the generated video -
which happens when start/stop button is pushed, or when cameras are
added or removed.
We can detect the problematic video files because the timestamp of the
first frame is large (old red5 versions always set first frame
timestamp to 0.001 seconds). If we see a file like this, having ffmpeg
remux the file - rewriting the timestamps and index - works around the
problem.
2018-05-30 11:41:45 -04:00
Calvin Walton
7d643f9bf8
RaP sanity: Don't delete .ser file unless repair succeeded
2018-05-23 12:03:20 -04:00
Calvin Walton
9cdafbdfe7
RaP: Merge the sanity script from master branch
...
Due to improvements in the recording scripts, most of the stuff the sanity
script was checking for is no longer needed (missing/corrupt video files
are handled by the processing scripts). The version of this script in
master has been cleaned up so that the only things it does are:
- Check that the events.xml exists and is properly formatted xml
- Rebuild flv files from red5 .flv.ser/.flv.info files
The script from master is compatible with the 2.0 code, so just use it
as-is.
This fixes a problem where following the recent red5 upgrade in 2.0 branch,
an flv file is never written for webcam streams where no frames were
received, despite there being recording events.
2018-05-23 11:18:04 -04:00
Calvin Walton
36a6b0f5ac
RaP: Scale to a square when generating slide images for pres. format
...
This improves the quality of portrait documents, before they were
1200px when landscape documents got 1600px.
Switching to scaling to a square means that we can use the "-scale-to"
option on pdftocaio, which means that it generates images directly
at the desired size. This can save quite a bit of time (and memory)
if a document was uploaded with extremely large page size.
2018-05-16 11:54:35 -04:00
Calvin Walton
18d472e3a3
RaP: Improve check for record events in archive, sanity scripts
...
There's some cases where you can get 0-duration recordings due to
recording event placement (e.g. a single recording event is the last
event in the events.xml). Detect these cases, and treat them like
no recording marks in the archive script (it will stop the recording
from being automatically processed).
I've also adjusted the sanity script to detect these cases and error
out. The recording processing scripts cannot handle 0-length recordings,
you have to manually edit the events. I've added a message to the
sanity log about this.
2018-05-16 11:32:29 -04:00
Calvin Walton
e034b9c7ae
Fix handling webcam videos that end early in recording processing
...
In some cases (due to network issues), the webcam video can be shorter
than the time between the start/stop events. Pad the input video with a
blank video to make sure that there's input to the video tiling filters,
to fix a problem where the video won't render correctly with ffmpeg v3.4
and later.
2018-05-07 13:21:11 -04:00
Felipe Cecagno
77d620a721
Fix recording events when there's screenshare AND webcams together
2018-04-26 01:24:41 +00:00
Lucas Fialho Zawacki
80562ac25c
Merge branch 'webrtc-webcams' of https://github.com/kepstin/bigbluebutton into html5-video-recording
2018-04-25 20:02:45 +00:00
Calvin Walton
954ee4fc18
Events code doesn't know where archive dir is
2018-04-25 15:08:35 -04:00
Calvin Walton
9ada59d1c4
Fix more variable references in screenshare events
2018-04-25 15:04:01 -04:00
Lucas Fialho Zawacki
419adcf926
Merge branch 'webrtc-webcams' of https://github.com/kepstin/bigbluebutton into html5-video-recording
2018-04-25 18:30:43 +00:00
Calvin Walton
cd3e28a08c
Fix some errors in screenshare archive/sanity
2018-04-25 14:28:37 -04:00
Lucas Fialho Zawacki
c0b3003918
Merge branch 'webrtc-webcams' of https://github.com/kepstin/bigbluebutton into html5-video-recording
2018-04-25 16:02:30 +00:00
Calvin Walton
ca0156d423
Support WebRTC screenshare in get events functions
2018-04-25 11:55:02 -04:00
Calvin Walton
39e981a7f2
Include webrtc screenshare streams in edl for video rendering
2018-04-25 11:44:23 -04:00
Calvin Walton
9f528e37fe
Archive kurento screenshare streams
2018-04-25 11:35:36 -04:00
Fred Dixon
7f0d8db451
Merge pull request #5392 from kepstin/recording-webcam-fix
...
Fix handling webcam videos that end early in recording processing
2018-04-24 17:01:47 -04:00
Calvin Walton
8e0a79014f
Fix handling webcam videos that end early in recording processing
...
In some cases (due to network issues), the webcam video can be shorter
than the time between the start/stop events. Pad the input video with a
blank video to make sure that there's input to the video tiling filters,
to fix a problem where the video won't render correctly with ffmpeg v3.4
and later.
2018-04-24 16:58:14 -04:00
Calvin Walton
ce84c5517b
Include webrtc webcams in recording processing
2018-04-24 15:20:35 -04:00
Calvin Walton
c45fa74da0
Archive the webcam files from kurento webcam sharing
2018-04-24 15:18:02 -04:00
Calvin Walton
cafa9fd822
Rework audio processing to avoid seeking past end of file
...
In some cases when there is a slight mismatch between audio file
duration and event timestamp difference, and we have a record
status or chapter break event in a certain location, it could
trigger a seek past the end of an audio file. Detect this
condition and just render silence instead.
Also adjust the thresholds for the audio length scaling - they
were being triggered on short recordings that should be correct.
2018-02-13 12:45:58 -08:00
Calvin Walton
e30d5e3940
Rework audio processing to avoid seeking past end of file
...
In some cases when there is a slight mismatch between audio file
duration and event timestamp difference, and we have a record
status or chapter break event in a certain location, it could
trigger a seek past the end of an audio file. Detect this
condition and just render silence instead.
Also adjust the thresholds for the audio length scaling - they
were being triggered on short recordings that should be correct.
2018-02-12 16:33:37 -05:00
Richard Alam
bca27c4838
Merge pull request #5136 from kepstin/segmented-recording
...
Archive events.xml file in a concurrency-friendly way.
2018-02-12 14:28:37 -05:00
Calvin Walton
c1258ed387
Archive events.xml file in a concurrency-friendly way.
...
With the current segment processing, we might be processing one segment
while archiving a different segment from the same recording. To avoid
that the processing scripts see an incomplete events.xml file, write to
a temp file then rename.
2018-02-12 14:04:46 -05:00
Calvin Walton
c44d94b498
Workaround video sync issue due to red5 timestamp offset
...
Red5 sometimes writes webcam video files with a large offset in the
video frame offsets, sometimes up to 30 or even 60 seconds. However,
the start event in the events.xml file corresponds to the time at
which red5 received the first keyframe (recorded frame) in the video.
The end result is that the video will sometimes appear to be
delayed (out of sync) in the processed recording.
The correction is simple: We're already reading video metadata,
including the timestamp of the first frame, so we just have to apply
a correction during video processing to undo the frame timestamp
offsets in the video file.
2018-02-12 10:22:36 -08:00
Calvin Walton
0701bf87a8
Workaround video sync issue due to red5 timestamp offset
...
Red5 sometimes writes webcam video files with a large offset in the
video frame offsets, sometimes up to 30 or even 60 seconds. However,
the start event in the events.xml file corresponds to the time at
which red5 received the first keyframe (recorded frame) in the video.
The end result is that the video will sometimes appear to be
delayed (out of sync) in the processed recording.
The correction is simple: We're already reading video metadata,
including the timestamp of the first frame, so we just have to apply
a correction during video processing to undo the frame timestamp
offsets in the video file.
2018-02-12 11:54:18 -05:00
Calvin Walton
d8c0f7a67d
Don't delete video events in the sanity script.
...
When working with the segmented recording format, the events file might
end with a mismatched start video event for an incomplete file. The
sanity script was removing this event, meaning the video didn't show up
in future segments.
Simply drop the code that tries to find invalid video files and removes
them from the events file. The new video processing code is already
robust against missing or corrupt files.
2017-12-14 14:43:31 -05:00
Richard Alam
e13a68377c
Merge branch 'v2.0.x-release' of github.com:bigbluebutton/bigbluebutton into synch-with-v2.0
2017-11-20 08:42:46 -08:00
Calvin Walton
7362eb1eaf
Update gems for security fixes, remove some unused.
2017-11-17 14:36:24 -05:00
Calvin Walton
feee34c144
Fix parsing meeting id for segments in publish step
2017-11-10 13:10:58 -05:00
Calvin Walton
d35dd90530
Applying segment breaks after recording marks doesn't work
...
The timestamps no longer line up after applying one edit, so these
have to be all done at the same time in one step.
2017-11-09 13:48:27 -05:00
Calvin Walton
abdb639e01
Bump bbb version to 2.1 so we can identify the new events
...
BBB 2.1 has multiple presentation pods and multiple chats, so the messages
for those have been altered.
2017-11-08 17:06:00 -05:00
Calvin Walton
eeb171cfc8
Add helper function that applies chapter breaks to record start/stop
...
This allows re-using some existing start/stop supporting processing
scripts to generate chapter recordings.
2017-11-08 13:49:24 -05:00
Calvin Walton
e2b40cc5bd
Rework a bunch of the code to avoid repeatedly reparsing the events.xml
2017-11-08 10:12:25 -05:00
Calvin Walton
ab1019bf14
Set up rap publish/process scripts for segments
2017-11-07 11:50:28 -05:00
Calvin Walton
4e243536c7
Handle the no audio files case a bit better
...
If no audio files were found, it was running rsync with one argument,
which is a bit unexpected. It just printed a file list in this case, but
we can provide a cleaner error message instead.
2017-11-07 10:03:20 -05:00
Calvin Walton
50f2c1b90b
Fix syntax issues in sanity scripts
2017-11-07 09:53:08 -05:00
Calvin Walton
35f7f425e2
Fix break detection in events
2017-11-07 09:52:50 -05:00
Calvin Walton
9add60d81b
Fix a bunch of bugs found when testing the archive code
2017-11-06 15:22:43 -05:00
Calvin Walton
5bb5cbcd0e
Have archive script check whether a particular segment is recorded
...
It previously checked whether any part of the entire meeting was recorded.
Helper functions are added to look up the time of segment start and end
(which handle non-segmented recordings correctly too).
Part of the events handling code was rewritten to reduce the number of times
that the events.xml file gets parsed.
2017-11-03 16:12:05 -04:00
Calvin Walton
f9c4843f28
Cleanups, initial work on checking for segment recorded status.
2017-11-03 15:17:04 -04:00
Calvin Walton
0e2785205a
Update sanity script for recording segments, fix archive done files
2017-11-03 12:02:36 -04:00
Calvin Walton
037014db94
Adjust sanity rap worker to support segment breaks
2017-11-03 11:27:00 -04:00
Calvin Walton
f5cd1628e0
Trim events list after archive, make archive fail block future segments
2017-11-03 11:16:44 -04:00
Calvin Walton
2c4cadf459
Delete event data from redis after archive writes xml
...
Todo: we also need to remove the events from the meeting event list
2017-11-03 10:27:52 -04:00
Calvin Walton
a78997d1a1
Work in progress on segment archiving
2017-11-01 12:31:07 -04:00
Calvin Walton
0affb6a36e
Make progressive archiving of media files work.
...
Switch to using rsync to archive video directories, with the -t option
so it'll only update modified/new files.
2017-10-30 15:04:30 -04:00
Calvin Walton
0acb3b5750
Adapt rap-archive-worker to segmented recording done file format
2017-10-30 13:40:53 -04:00
Calvin Walton
b2f8c80202
Handle out of order inserts at the start of a caption stream.
...
If you're inserting at position 0 (and there was no previous deleted text
from that position), you can't use the timestamp from the previous character
position, since there's no previous character. Use the timestamp of the
following character instead.
2017-10-12 14:16:34 -04:00
Leonardo Crauss Daronco
58fe40dadd
Fix reference to the format name in rap-publish-worker
2017-10-09 19:06:06 -03:00
Leonardo Crauss Daronco
af87bc2d3f
Merge remote-tracking branch 'upstream/master' into v1.1.0-rap-on-resque
2017-10-09 16:37:28 -03:00
Calvin Walton
e37db34eb4
Correctly handle a recording start being the last event in a recording.
...
In some unusual cases, the recording start can be the last event in the
events file, or at least have the same timestamp as such.
Add some code to check the array bounds and break if needed, so we
don't check the timestamp on the (non-existant) event after the last
event.
2017-10-02 12:31:31 -04:00
Calvin Walton
3f1fb1dc31
Handle recordings that have an unmatched DeskshareStartedEvent
...
The previous code looked for stop events and tried to find their
associated start event. This obviously doesn't work if there was
no stop event. But if there was a start event, we need to show the
deskshare… so rework to code to try to find the matching stop to each
start instead, and use the end of the meeting if no matching stop was
found.
2017-09-13 17:17:17 -04:00
Calvin Walton
399b1cb543
RnP: Don't fail processing if an image can't be converted to png
2017-09-05 11:21:16 -04:00
Calvin Walton
dba121e6f4
Merge pull request #3998 from kepstin/caption-fixes
...
Update caption track generation based on feedback
2017-08-25 12:04:59 -04:00
Calvin Walton
33a511d800
Move the custom_hash require to publish rap worker where it's used
2017-08-18 17:45:15 -04:00
Calvin Walton
dba5cd9196
Various recording script fixes & cleanups
...
This is just a bundle of a few things I've been fixing up in the past
while.
= Workaround for BBB 1.1 beta deskshare timestamp bug
This is unlikely to be used, but I have the code for it, might as
well merge it in.
= Rework video tiling code for ffmpeg
Render video using the 'hstack' and 'vstack' filters rather than the
'overlay' filter. This is somewhat faster, particularly with lots of
videos.
= Etc.
- Remove usage of the streamio-ffmpeg gem.
The video rendering code has some stuff to directly read 'ffprobe'
output, so re-use that instead of this gem (which is kind of old and
has issues with newer ffmpeg versions).
- Don't hardcode the deskshare video area size, pull it from the
properties file
- Remove some code that worked around missing video end events.
In some cases this could cause flickering or strange video issues.
It's no longer strictly needed, the new tiling code doesn't break if
the seekpoint is after the end of the video.
2017-08-18 15:24:54 -04:00
Leonardo Crauss Daronco
0b662c5342
Fix call to resque's "prune_dead_workers" on rap workers
2017-08-15 12:10:34 -03:00
Leonardo Crauss Daronco
aa8a7818a9
Remove stale workers when starting a rap worker
...
A simple but effective way of garbage collection.
See:
http://www.rubydoc.info/github/resque/resque/Resque%2FWorker:prune_dead_workers
2017-08-11 17:32:42 -03:00
Leonardo Crauss Daronco
2a253cf3bd
Schedule the next rec step in the base worker
2017-08-09 11:52:52 -03:00
Leonardo Crauss Daronco
50e02ad7dc
Specify the sequence of rec steps in the props file
...
Removed from the code, now it can be specified in the properties file.
Makes it easier to include new processing scripts and control dependencies
between them.
2017-08-07 18:08:17 -03:00
Calvin Walton
c6f4ca9b56
BBB version is expected to be 3 numbers in recording events
2017-08-03 11:26:36 -04:00
Calvin Walton
056d7f2af6
Mark recordings as being from bbb 2.0
...
This will let the recording scripts adapt to some of the more difficult to
handle changes.
2017-08-03 11:02:28 -04:00
Leonardo Crauss Daronco
bc926be8d2
Simplify rap-starter a little
2017-07-14 17:35:06 -03:00
Leonardo Crauss Daronco
b01ab0574a
Make sure rap resque workers will run from the correct directory
2017-07-13 17:48:20 -03:00
Leonardo Crauss Daronco
c34f3adff0
Add option to configure a different redis server for rap workers
...
Makes it possible to have a separate redis for workers, which helps when
scaling the processing.
2017-07-13 17:48:02 -03:00
Leonardo Crauss Daronco
076da25a7b
Let exceptions be raised on rap resque workers
...
Let the exceptions be raised so that the job will be put in a "failed"
queue with all information needed.
2017-07-13 14:36:46 -03:00
Leonardo Crauss Daronco
71515d3a0c
Make sure bbb-rap-resque-worker starts after boot
2017-07-13 14:36:45 -03:00
Leonardo Crauss Daronco
0252604b16
Add systemd scripts for rap workers on redis
2017-07-13 14:36:45 -03:00
Leonardo Crauss Daronco
13623e96fa
Use a hash to pass options to rap workers, makes it easier to extend
...
With a hash it's easier for customizations to pass new parameters and
even create new types of workers.
2017-07-13 14:36:45 -03:00
Leonardo Crauss Daronco
5488cba3dd
Run a different worker for each rap processing format available
...
Was running all formats inside a single worker, now there is a worker for
each processing script. Each will trigger its own publish worker when
done.
2017-07-13 14:36:44 -03:00
Leonardo Crauss Daronco
27cadca49a
Use recording status files for info only, not as triggers
...
With resque workers we don't need to use status files to trigger each
step of the recording process. So instead of using status files as triggers
they are not used only for information, so that the workers can know if
a e.g. processing script failed or succeeded.
2017-07-13 14:36:44 -03:00
Leonardo Crauss Daronco
1320fcb900
Move common rap functionality to a base class
...
Moved all workers to a common directory, inheriting from a common base
class that has all common methods used by all workers.
2017-07-13 14:36:44 -03:00
Leonardo Crauss Daronco
72813a908c
Move sanity, process and publish rap workers to run in resque
...
Same as 1bcdc45 but for the other scripts.
2017-07-13 14:36:43 -03:00
Leonardo Crauss Daronco
5aeeee25fd
Move rap archive to resque, first step on moving all steps to resque
...
For now the differences are that the archive worker will run inside
resque (it is a resque worker now) and there is a "rap-trigger" file that
is executed by systemd to detect recordings that need to be archived and
add a job on resque to archive them.
The process os scheduling jobs still needs to be reviewed, but for now will
be done by rap-trigger.
2017-07-13 14:36:43 -03:00
Pedro Beschorner Marin
2097b611ed
Merge remote-tracking branch 'prlanzarin/1.1-transcode-screenshare-merge' into bigbluebutton/bbb-2.x-mconf
...
Conflicts:
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/LiveMeeting.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersModel.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/AppsRedisSubscriberActor.scala
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/RegisterUserMessage.java
bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/PhoneOptions.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/WebRTCDeskshareManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareOptions.as
bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml
record-and-playback/core/scripts/rap-process-worker.rb
2017-07-11 20:41:38 +00:00
Calvin Walton
a28efe68d0
Don't crash on IME-inserted captions
...
Current BBB client is generating invalid indexes when characters are
inserted with an IME - the edit indexes are as if the preedit text was
being removed, but the preedit text was never sent in the first place.
For now, just don't crash if there's an edit that would remove text
which is past the end of known text. The result might be broken, but
it won't prevent the rest of the recording from working.
2017-06-13 16:02:03 -04:00
Pedro Beschorner Marin
15c6420e97
Merge tag 'v1.1.0' into 1.1-transcode
...
tagging v1.1.0 release
Conflicts:
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/RegisterUserMessage.java
bbb-web-api/src/main/java/org/bigbluebutton/api/messaging/RedisMessagingService.java
bigbluebutton-client/resources/config.xml.template
bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/PhoneOptions.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml
record-and-playback/core/scripts/rap-process-worker.rb
2017-06-13 17:44:12 +00:00
Pedro Beschorner Marin
719ef1377a
Merge remote-tracking branch 'mconf' into merging-into-bbb-1.1
...
Conflicts:
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java
bbb-video/src/main/java/org/bigbluebutton/app/video/converter/VideoRotator.java
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/locale/pt_BR/bbbResources.properties
bigbluebutton-client/resources/prod/MconfLive.html
bigbluebutton-client/src/org/bigbluebutton/common/Images.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/BrowserCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/JavaCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
bigbluebutton-config/bin/bbb-conf
record-and-playback/core/lib/recordandplayback/generators/audio_processor.rb
record-and-playback/core/lib/recordandplayback/generators/video.rb
record-and-playback/core/scripts/rap-worker.rb
record-and-playback/presentation/playback/presentation/0.9.0/lib/writing.js
record-and-playback/presentation/scripts/process/presentation.rb
record-and-playback/presentation/scripts/publish/presentation.rb
2017-06-07 19:31:15 +00:00
Calvin Walton
11da0b61e0
Update caption track generation based on feedback
...
I've had a chance to see how this script behaves with actual live
caption tracks now, and there's room for improvement. In particular,
it often generates cues that overlap - the next one appears before the
previous one disappears. The browser player position handles this
really poorly, and it's nearly unreadable.
The solution is to, if two cues would overlap, merge them into a
single multiline cue that displays for the full time. This is a lot
easier to read.
Some extra code is added to de-overlap any remaining cues (e.g. if
there's a third cue that would also overlap). This will reduce the
time that the earlier cue gets shown below my preferred minimum, but
not really much we can do about that if people are talking/typing
quickly.
The code can easily be tweaked to set a different number of maximum
lines per cue if desired.
2017-06-06 09:24:14 -04:00
Ghazi Triki
7d283cd154
Merge remote-tracking branch 'bigbluebutton/master' into merge-master-into-2x
...
# Conflicts:
# bigbluebutton-client/resources/config.xml.template
# bigbluebutton-client/src/org/bigbluebutton/modules/phone/PhoneOptions.as
# bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
# record-and-playback/core/scripts/rap-process-worker.rb
2017-05-22 17:35:24 +01:00
Calvin Walton
da79d1e3b3
rap-process-worker: Write processing_time file only if processing succeeded
...
If processing didn't succeed, the directory where it is trying to write
the file might not exist, causing an exception in the worker which leads
to it getting stuck in a retry loop.
2017-05-08 16:10:59 -04:00
Felipe Cecagno
9f6ef49847
check if the deskshare video file is valid before processing it
2017-05-07 19:12:34 -03:00
Pedro Beschorner Marin
cab466e926
Merge pull request #399 from fcecagno/fix-deskshare-ser
...
recording: Run the 'ser' fixup tool on deskshare videos, too
2017-04-17 13:59:11 -03:00
Calvin Walton
d00024d569
recording: also archive .flv.ser files from deskshare directory
2017-04-16 17:28:37 -03:00
Calvin Walton
f5731b74c5
recording: Run the 'ser' fixup tool on deskshare videos, too
...
Since the deskshare videos are saved in flv files by red5, they can
have the same partially written file issue as seen on webcams.
2017-04-16 17:20:43 -03:00
alexandre
f8c976fd54
Certifying that we process the audio before getting it in AudioProcessor
2017-04-13 17:23:13 -03:00
alexandre
cf176a6990
Saving processed audio and using it to process webcam videos
...
Webcam videos processing was processing the audio again.
2017-04-13 15:58:17 -03:00
Pedro Beschorner Marin
f59e42bb02
Merge remote-tracking branch 'bigbluebutton/master' into merging-into-bbb-1.1
2017-04-04 20:42:15 +00:00
Felipe Cecagno
2b9dcc37de
process recordings in chronological order
2017-04-01 20:00:37 -03:00
Fred Dixon
cd491c67b6
Moved the recording systemd scripts into the core directory
2017-03-23 10:36:10 -05:00
Calvin Walton
dd23536c84
record-and-playback: Split rap-worker into separate workers per step.
...
The purpose of this is to ensure that the recording processing with make
visible forwards progress, by ensuring that different steps in the
recording pipeline don't block each-other.
This fixes:
- recordings being processed prevent archiving new recordings from running
- recordings can't be published until all pending recording processing
completes
It does allow recording archive, sanity, process, publish steps to run in
parallel with each other, but at most one recording will be in each step at
a time. (I.e. while one recording is being processed, a different recording
can be published). This may potentially increase CPU usage for some users.
If you expect this to be a problem, you can set resource controls (see
`man systemd.resource-control`) on the bbb_record_core.slice systemd unit.
2017-03-22 17:20:29 -04:00
Pedro Beschorner Marin
0592568ac8
Adding back some methods that were excluded from master but we were using for screenshare's playback annotations
2017-03-22 17:31:35 +00:00
Pedro Beschorner Marin
0ab207c997
Merge remote-tracking branch 'mconf/mconf'
2017-03-21 19:47:11 +00:00
Pedro Beschorner Marin
c74cc682c4
Merge remote-tracking branch 'mconf/mconf'
2017-03-20 19:45:59 +00:00
Richard Alam
72c42f9d70
- build get recordings api response
2017-03-13 21:43:39 +00:00
Richard Alam
4e59521268
- store breakout metadata and breakout rooms in events.xml only if they are present.
2017-03-10 19:39:20 +00:00
Richard Alam
71bcd779b7
- process breakout rooms in events.xml and metadata.xml
2017-03-09 23:01:15 +00:00
Pedro Beschorner Marin
3e43602b33
Changed deskshare start/stop matching method
2017-02-23 20:17:16 +00:00
Pedro Beschorner Marin
6787915e0e
Refactored deskshare video recording
2017-02-23 18:21:10 +00:00
alexandre
f39874ac9b
Returning number of users that participated in each meeting in getRecordings call
...
Resolves #3623
2017-02-10 16:19:32 -02:00
Calvin Walton
c885fc3ec4
recording: also archive .flv.ser files from deskshare directory
2017-01-20 13:34:16 -05:00
Calvin Walton
f7f3b79ae4
recording: Run the 'ser' fixup tool on deskshare videos, too
...
Since the deskshare videos are saved in flv files by red5, they can
have the same partially written file issue as seen on webcams.
2017-01-20 13:23:36 -05:00
Jesus Federico
62bd4a587c
Merge pull request #3489 from kepstin/gen-webvtt-iterparse
...
gen_webvtt: Parse entire events file, instead of iterparse
2016-12-07 11:38:14 -05:00
Calvin Walton
b2c1f00356
Merge pull request #3472 from jfederico/fix-recording-preview-alt-error
...
record-and-playback: Fixed issue with text gathered from slids used o…
2016-12-07 11:30:59 -05:00
Calvin Walton
fb3a913b5b
gen_webvtt: Parse entire events file, instead of iterparse
...
The iterparse mode doesn't correctly handle long multi-byte UTF-8
characters with some versions of lxml library or libxml version.
2016-12-02 14:33:06 -05:00
Calvin Walton
bd8baed660
Fix typo in recording sanity script.
...
This caused it to think all video files were corrupt.
2016-11-21 15:01:54 -05:00
jfederico
161cab8234
record-and-playback: Fixed issue with text gathered from slids used on preview
2016-11-17 15:59:07 -05:00
Fred Dixon
0b9fc8b143
Merge pull request #3434 from kepstin/recording-cleanup
...
RnP: Improve error handling in video_info, audio_info functions
2016-11-11 12:14:55 -05:00
Fred Dixon
8b0a3dff50
Update Gemfile.lock for 1.1-dev
2016-11-10 10:03:17 -06:00
jfederico
737697968c
record-and-playback: Removed preview extension (thumbnails) from recordings when only has default presentation
2016-11-07 18:50:28 +00:00
jfederico
64a4f4dc08
record-and-playback: Encoded text coming from the slide for being used in thumbnails
2016-10-27 17:35:58 -04:00
Richard Alam
ece6edcb12
- fix check for breakout room
...
- insert breakout metadata into events.xml
- delete breakout metadata from redis
2016-10-21 19:05:30 +00:00
kreismann
73603d5d68
Presentation area of the recording playback also shows deskshare video
...
This is a demo. Some issues:
- When sharing desktop, cursor is still relative to slides, and not to deskshare video;
- Need to show whiteboard canvas on top of deskshare video as well;
- Need more testing (audio/video sync, playback perfomance, multiple presenters and multiple deskshare events).
2016-10-20 17:39:35 -02:00
jfederico
1a4438d459
record-and-playback: Fixed issue with presentations containing less than 3 slides
2016-09-27 15:19:53 -04:00
jfederico
78cb599a5b
record-and-playback: removed text element from extension preview
2016-09-22 13:11:01 -04:00
jfederico
e0b6a9ebf8
recording-and-playback: Removed log used for debugging
2016-09-21 17:31:40 -04:00
jfederico
59c67809d0
recording-and-playback: Added alt text to the preview per slide
2016-09-21 16:39:32 -04:00
Pedro Beschorner Marin
694c9564a5
Added record_id to redis recording events
2016-09-21 20:12:57 +00:00
Pedro Beschorner Marin
49d5f9c41c
Refactored redis recording events
2016-09-21 16:32:11 +00:00
jfederico
8adf729e0f
recording-and-playback: Added general text to the preview
2016-09-20 16:46:45 -04:00
jfederico
45ba7d85c2
record-and-playback: Filtered presentation files to provide only the first thumbnail for default.pdf
2016-09-20 14:10:28 -04:00
Calvin Walton
ef607f0e44
RnP: Improve error handling in video_info, audio_info functions
2016-09-20 13:22:50 -04:00
Calvin Walton
c730681183
Improve detection of corrupt videos via ffprobe
2016-09-06 18:15:31 -04:00
Calvin Walton
f112be7638
Fix errors in recording scripts.
...
Logger was apparently imported by the matterhorn stuff ?! so move that
to the main library.
Fix a variable reference in sanity.
2016-09-03 16:08:32 -04:00
Calvin Walton
8ede6d06ee
Remove a few matterhorn references that were missed.
2016-09-02 17:45:10 -04:00
Calvin Walton
13b9022282
Update the Gemfile.lock file to match gem changes
2016-09-02 16:40:27 -04:00
Calvin Walton
2cd9565d52
Improve wave length guessing
...
Instead of assuming that wav files have 44 byte headers (they usually
don't - freeswitch adds some metadata tags), add a super-simple wave
file parser that just finds the offset where the audio data actually
starts.
2016-09-02 16:40:27 -04:00
Calvin Walton
f815fd0d70
Remove a bunch of unused/old audio processing code.
...
The sanity check script was using one of the functions; it's been
changed to use a function from the EDL audio code instead.
2016-09-02 16:40:27 -04:00
Calvin Walton
0f29a6e5f9
Drop streamio-ffmpeg from required gems
...
It's no longer used anywhere in the recording processing, and the one
remaining use in the sanity script can be replaced with a (less buggy!)
function from the video EDL code.
2016-09-02 16:40:27 -04:00
Calvin Walton
b4d902cd9a
Drop old/broken matterhorn script, and old video processing code.
2016-09-02 16:40:27 -04:00
Felipe Cecagno
4aa2a732e2
Merge branch 'mconf-live0.7.5' of github.com:mconf/bigbluebutton into mconf
...
Conflicts:
record-and-playback/presentation/playback/presentation/0.9.0/lib/writing.js
2016-09-01 18:00:43 -03:00
Felipe Cecagno
d884264852
update Gemfile and Gemfile.lock, will start to deploy Gemfile.lock and execute ruby using bundler
2016-08-18 16:23:33 -03:00
Calvin Walton
ab0dac1192
Don't appy recording marks twice to audio
2016-08-12 15:53:56 -04:00
Calvin Walton
e4735a12b3
Various updates to the rnp edl handling
...
Main change is to rewrite the start/stop event handling to do fewer
passes and use simpler logic (it no longer has to track durations).
The temporary work audio codec is switched to flac; slightly lower hard
drive use and it avoids the 4-hour length limit of wav.
Some improvements to the video seeking when processing deskshare and
webcam videos, to avoid video dropouts.
Tweaks to the audio encoding quality settings.
Remove an unused function.
2016-08-12 14:17:51 -04:00
Calvin Walton
bfb987dc01
Make shape rendering in presentation recordings closer to live BBB
2016-08-12 11:53:01 -04:00
Calvin Walton
b589c25831
Fix reference to deleted 'webrtc_deskshare_archiver'
2016-08-02 14:31:20 -04:00
Calvin Walton
d4e7605f42
RnP: Fix use of deprecated IO#lines in logging functions
2016-08-02 10:58:42 -04:00
Calvin Walton
2b8d7a9858
Merge remote-tracking branch 'origin/master' into recording-captions
2016-08-02 10:49:05 -04:00
Fred Dixon
4628fd3a7a
Update bbb-0.9-beta-recording-update
2016-06-26 11:52:09 -04:00
Richard Alam
58c239bc43
Merge branch 'master' into merge-bbb-1.1-dev-java8-with-master
...
Conflicts:
akka-bbb-apps/build.sbt
akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
akka-bbb-apps/src/main/resources/application.conf
akka-bbb-apps/src/main/scala/org/bigbluebutton/Boot.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingModel.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/RecorderActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/WhiteboardApp.scala
akka-bbb-fsesl/build.sbt
akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/pubsub/receivers/RedisMessageReceiver.java
akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/ConnectionManager.java
akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/FreeswitchApplication.java
bbb-common-message/build.sbt
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/MessagingConstants.java
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
bigbluebutton-apps/build.gradle
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/RedisPubSubMessageHandler.java
bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-client/build.xml
bigbluebutton-client/resources/config.xml.template
bigbluebutton-client/resources/prod/BigBlueButton.html
bigbluebutton-client/src/org/bigbluebutton/common/Images.as
bigbluebutton-client/src/org/bigbluebutton/main/maps/ApplicationEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/JavaCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-web/build.gradle
bigbluebutton-web/grails-app/conf/spring/resources.xml
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Meeting.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MeetingMessageHandler.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisMessagingService.java
record-and-playback/core/scripts/bigbluebutton.yml
2016-05-16 11:35:36 -04:00
Anton Georgiev
c2e6fb9a72
undo some of the webrtc ds record changes
2016-05-18 17:34:30 +00:00
Anton Georgiev
92d6351c55
undo some of the webrtc ds record changes
2016-05-18 17:21:15 +00:00
Anton Georgiev
228dfb4061
Merge branch 'mod-verto-1' of github.com:antobinary/bigbluebutton into merge-webrtc-ds
...
Conflicts:
akka-bbb-apps/build.sbt
akka-bbb-apps/src/main/resources/application.conf
akka-bbb-apps/src/main/scala/org/bigbluebutton/SystemConfiguration.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
akka-bbb-fsesl/build.sbt
bbb-common-message/build.sbt
bbb-fsesl-client/build.sbt
bbb-fsesl-client/src/main/java/org/freeswitch/esl/client/inbound/Client.java
bigbluebutton-apps/build.gradle
bigbluebutton-client/build.xml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/BrowserCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/JavaCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-html5/app/client/NotificationControl.coffee
bigbluebutton-html5/app/client/globals.coffee
bigbluebutton-html5/app/client/lib/bbb_api_bridge.coffee
bigbluebutton-html5/app/client/main.coffee
bigbluebutton-html5/app/client/main.html
bigbluebutton-html5/app/client/stylesheets/whiteboard.less
bigbluebutton-html5/app/client/views/chat/chat_bar.coffee
bigbluebutton-html5/app/client/views/modals/settings.coffee
bigbluebutton-html5/app/client/views/modals/settings.html
bigbluebutton-html5/app/client/views/users/user_item.coffee
bigbluebutton-html5/app/client/views/whiteboard/whiteboard.coffee
bigbluebutton-html5/app/client/views/whiteboard/whiteboard.html
bigbluebutton-html5/app/collections/collections.coffee
bigbluebutton-html5/app/config.coffee
bigbluebutton-html5/app/lib/router.coffee
bigbluebutton-html5/app/server/collection_methods/meetings.coffee
bigbluebutton-html5/app/server/collection_methods/users.coffee
bigbluebutton-html5/app/server/publish.coffee
bigbluebutton-html5/app/server/server.coffee
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
record-and-playback/presentation/scripts/process/presentation.rb
record-and-playback/presentation/scripts/publish/presentation.rb
2016-05-18 15:14:04 +00:00
Calvin Walton
b50a3020b1
Caption: Handle forced line break directly after wrap correctly.
...
When the next line break after a wrap induced due to line length was a
hard line break, the hard line break would override the soft line break,
resulting in over-long lines, and the last word would be repeated on the
last line.
Move the hard break code into an else branch so it's only applied if we
haven't already done a word wrap on this line.
2016-04-04 16:11:48 -04:00
Calvin Walton
0babcc195b
Update gen_webvtt to list correct deps for ubuntu 14.04
2016-04-04 16:08:10 -04:00
Calvin Walton
b559b4d9d6
Add a tool to generate webvtt files from caption events
2016-04-04 16:08:10 -04:00
Felipe Cecagno
e4da408c08
Merge branch 'mconf' into bigbluebutton/bigbluebutton@master
...
Conflicts:
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationService.java
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java
bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingServiceHelper.java
bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Recording.java
bigbluebutton-web/web-app/WEB-INF/freemarker/get-recordings.ftl
record-and-playback/presentation/playback/presentation/0.9.0/playback.html
record-and-playback/presentation/scripts/publish/presentation.rb
2016-03-02 01:19:09 -03:00
Richard Alam
95c043860b
- add archiving of new screenshare
2016-02-25 17:59:29 +00:00
jfederico
371557ecb4
recording-and-playback: Added directory to be cleaned up for deleted status
2016-01-19 14:57:30 -05:00
jfederico
8bc75ab2f6
recording-and-playback: Converted tabs to spaces on presentation/scripts/* and core/scripts/*
...
Signed-off-by: jfederico <jesus@123it.ca>
2016-01-19 14:52:28 -05:00
Felipe Cecagno
019cfa6cfb
Merge remote-tracking branch 'mconf/mconf-live0.7.3' into mconf
...
Conflicts:
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/CollectorActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/freeswitch/FreeswitchConferenceActor.scala
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/views/components/CustomRichTextEditor.as
2016-01-04 15:14:27 -02:00
Felipe Cecagno
8f08e13dcc
Merge remote-tracking branch 'bigbluebutton/master' into mconf
...
Conflicts:
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/client/messaging/ConnectionInvokerService.java
bigbluebutton-client/locale/pt_BR/bbbResources.properties
bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
2015-12-30 18:35:13 -02:00
Felipe Cecagno
de75b79eab
changed the method of pack and unpack the encrypted format, from zip to tar, and making it by an external command instead of doing it in ruby (more efficient)
2015-12-15 16:45:22 -02:00
Anton Georgiev
7bf1d4ce8c
Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into webrtc-desktop-temp-3
...
Conflicts:
record-and-playback/core/scripts/bigbluebutton.yml
2015-11-30 21:44:04 +00:00
Pedro Beschorner Marin
36bbcc06d6
Merge remote-tracking branch 'mconf/mconf-live0.7.3' into mconf-live0.7.3-merge
...
Conflicts:
akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/ConversionUpdatesProcessor.java
akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/MeetingMessageReceiver.java
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
bbb-video/.classpath
bbb-video/build.gradle
bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java
bbb-video/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/meeting/messaging/red5/ConnectionInvokerService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/BigBlueButtonApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/ParticipantsService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationApplication.java
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/CollectorActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/Constants.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/MessageNames.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationModel.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersModel.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/red5/UsersClientMessageSender.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersEventRedisPublisher.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersMessageToJsonConverter.scala
bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/locale/es_LA/bbbResources.properties
bigbluebutton-client/resources/config.xml.template
bigbluebutton-client/resources/prod/MconfLive.html
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/src/BigBlueButton.mxml
bigbluebutton-client/src/SharedNotesModule.mxml
bigbluebutton-client/src/org/bigbluebutton/common/Images.as
bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as
bigbluebutton-client/src/org/bigbluebutton/core/model/Config.as
bigbluebutton-client/src/org/bigbluebutton/core/services/BandwidthMonitor.as
bigbluebutton-client/src/org/bigbluebutton/core/services/StreamMonitor.as
bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
bigbluebutton-client/src/org/bigbluebutton/main/model/NetworkStatsData.as
bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeMyRole.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeRoleEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/LowerHandEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/StreamStoppedEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/LanguageSelector.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/LoggedOutWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MuteMeButton.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/NetworkStatsWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
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
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/services/red5/Connection.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/maps/LayoutEventMapDelegate.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/WindowLayout.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/AddButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/ToolbarComponent.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/UploadedPresentationRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/Client.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/HTTPServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/ServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/XMLServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/maps/UsersMainEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarPopupButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoDock.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
bigbluebutton-config/bigbluebutton-release
bigbluebutton-config/bin/bbb-conf
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/PresentationController.groovy
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MeetingMessageHandler.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MessagingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisStorageService.java
bigbluebutton-web/src/java/org/bigbluebutton/presentation/imp/Pdf2SwfPageConverter.java
2015-11-25 15:58:36 +00:00
Calvin Walton
fc299487e4
recording: Allow configuring recording metadata to use https
...
This allows configuring a server to use https without having to edit
any ruby files directly.
(Ideally, the metadata files wouldn't include the server name/protocol
at all; that should be set dynamically by bbb-web, but this is what we
have for now.)
2015-11-06 11:49:36 -05:00
Felipe Cecagno
7a182e67b6
Merge branch 'feature-1734' into mconf-live0.7.3 (refs #1734 )
2015-10-23 12:47:08 -02:00
Felipe Cecagno
c3c4a9c64c
extracted the custom hash class to a different file, loaded by recordandplayback.rb; removed the hardcoded path to /var/bigbluebutton/published/presentation because it can change, and it's always different depending on the playback format (refs #1734 )
2015-10-23 12:46:26 -02:00
Anton Georgiev
8e407df405
Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into webrtc-desktop-temp-1
...
Conflicts:
akka-bbb-apps/build.sbt
akka-bbb-fsesl/build.sbt
bbb-common-message/build.sbt
bigbluebutton-apps/build.gradle
2015-10-22 20:46:30 +00:00
Felipe Cecagno
f9eaa32a12
publish recording immediately after the process phase, before processing other recordings; fix step_succeeded vs. phase_succeeded
2015-10-19 17:40:30 -02:00
Felipe Cecagno
83ae244485
Merge branch 'mconf-live0.7.1-ssl' into mconf-live0.7.3
2015-10-19 11:49:36 -02:00
Felipe Cecagno
7069a4a6d7
Recording: Also tell ffmpeg to ignore the length of the intermediate wav file
2015-10-16 14:09:32 -04:00
Felipe Cecagno
762d1e9a56
another patch to fix the long wav files problem
2015-10-16 14:53:20 -03:00
Calvin Walton
fe8cf13b11
Convert audio_size to a number before subtracting header size
2015-10-15 15:11:45 -03:00
Calvin Walton
43e943d61d
Need to convert bit_rate to an integer
2015-10-15 15:11:44 -03:00
Calvin Walton
30e6a98a8b
Fix some reference errors in wav detection
2015-10-15 15:11:44 -03:00
Calvin Walton
8332daf093
record-and-playback: Handle FreeSWITCH wav files >4GB
...
FreeSWITCH writes wav files >4GB long with incorrect values in the length
field in the header. Recalculate the length based on file size, and ensure
that ffmpeg reads the complete audio file rather than stopping.
2015-10-15 15:11:44 -03:00
Anton Georgiev
f08cd5262e
temp changes
2015-10-13 19:00:50 +00:00
Anton Georgiev
6b8626d40f
cleaning up and reverting unnecessary config
2015-09-29 16:03:40 +00:00
Anton Georgiev
1d1c8a421b
deskshare edl for webrtc
2015-09-28 20:49:24 +00:00
Calvin Walton
a6d6001040
Convert audio_size to a number before subtracting header size
2015-09-25 14:11:25 -04:00
Calvin Walton
d44b458b49
Need to convert bit_rate to an integer
2015-09-25 14:08:17 -04:00
Anton Georgiev
366b01fff7
webrtc deskshare work on recording scripts
2015-09-25 18:05:54 +00:00
Calvin Walton
530799776d
Fix some reference errors in wav detection
2015-09-25 14:01:30 -04:00
Calvin Walton
1dcd49e180
record-and-playback: Handle FreeSWITCH wav files >4GB
...
FreeSWITCH writes wav files >4GB long with incorrect values in the length
field in the header. Recalculate the length based on file size, and ensure
that ffmpeg reads the complete audio file rather than stopping.
2015-09-24 15:54:20 -04:00
RafaFP
0284ee0048
Latest version of the implementation of the feature #1734 .
...
Data on Playback, Metadata and Download are now present on the publish_ended event.
If the related content is absent it will be returned empty, if otherwise present all child tags and data will be presented.
refs 1734
2015-09-14 15:55:06 +00:00
RafaFP
4325e98bf2
Implemented the code to add the "playback", "meta" and "download" tags from the XML to the publish_ended.
...
Added code to guarantee that a hash is passed even when the tags do not exist in the XML.
#feature 1734
2015-09-11 21:12:09 +00:00
RafaFP
2a85811d40
Implemented hash data gathering dinamically, still have to use TRY to catch the nil exception.
...
If the hash is nil the publish_ended post is skipped.
Must validate the tag values and add the download tag.
2015-09-11 18:20:47 +00:00
Felipe Cecagno
ed366e6b21
Merge branch '090-recordings-size' into mconf-live0.7.3
...
Conflicts:
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Recording.java
2015-09-08 17:43:20 -03:00
Felipe Cecagno
32957898f6
refactored part of the bbb-0.9-recording-size code in order to include the size on the download size for mconf_encrypted and the playback size for the others; included raw_size for all available formats
2015-09-08 17:18:02 -03:00
RafaFP
eb1b5aee49
Included playback data to the event of "publish_ended"
...
#refs 1734
2015-09-01 16:13:10 +00:00
RafaFP
8602d3c263
Added the link and duration info to the publish_ended event.
...
#refs 1734
2015-08-31 20:29:00 +00:00
Fred Dixon
c99da48041
Removed uneeded script
2015-08-13 17:32:03 -04:00
Felipe Cecagno
eef0398885
changing permissions over bbb-0.9-recording-size, which is now executable
2015-07-15 17:16:04 -03:00
Pedro Beschorner Marin
60a1ae6436
Cleanup
2015-06-10 17:14:14 +00:00
Pedro Beschorner Marin
cbfe8b8859
Added an update script for sizes injection in old recordings metadata and some refactoring
2015-06-10 17:07:11 +00:00
Pedro Beschorner Marin
9932a4c4fe
Fixing metadata.xml identation
2015-06-10 00:39:55 +00:00
Pedro Beschorner Marin
f8ff4a6725
Injecting format size in metadata.xml
2015-06-09 21:06:57 +00:00
Pedro Beschorner Marin
6ef2bf6b27
Getting playback and full meeting published sizes
2015-06-09 14:39:35 +00:00
Pedro Beschorner Marin
4225a87abd
Refactoring and cleanup
2015-06-04 16:03:20 +00:00
Felipe Cecagno
7cb12f8b49
Merge branch 'mconf-live0.6.3' into bigbluebutton/bigbluebutton@v0.9.0-release
...
Conflicts:
bbb-api-demo/src/main/webapp/demo10_helper.jsp
bbb-video/build.gradle
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/BigBlueButtonApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/BigBlueButtonSession.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/meeting/messaging/red5/ConnectionInvokerService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsHandler.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-client/locale/bg_BG/bbbResources.properties
bigbluebutton-client/locale/cs_CZ/bbbResources.properties
bigbluebutton-client/locale/cy_GB/bbbResources.properties
bigbluebutton-client/locale/de_DE/bbbResources.properties
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/locale/es_419/bbbResources.properties
bigbluebutton-client/locale/es_ES/bbbResources.properties
bigbluebutton-client/locale/et_EE/bbbResources.properties
bigbluebutton-client/locale/fa_IR/bbbResources.properties
bigbluebutton-client/locale/fr_CA/bbbResources.properties
bigbluebutton-client/locale/fr_FR/bbbResources.properties
bigbluebutton-client/locale/hu_HU/bbbResources.properties
bigbluebutton-client/locale/hy_AM/bbbResources.properties
bigbluebutton-client/locale/it_IT/bbbResources.properties
bigbluebutton-client/locale/ms_MY/bbbResources.properties
bigbluebutton-client/locale/no_NO/bbbResources.properties
bigbluebutton-client/locale/pl_PL/bbbResources.properties
bigbluebutton-client/locale/pt_BR/bbbResources.properties
bigbluebutton-client/locale/ru_RU/bbbResources.properties
bigbluebutton-client/locale/sk_SK/bbbResources.properties
bigbluebutton-client/locale/tr_TR/bbbResources.properties
bigbluebutton-client/locale/uk_UA/bbbResources.properties
bigbluebutton-client/locale/zh_CN/bbbResources.properties
bigbluebutton-client/resources/config.xml.template
bigbluebutton-client/resources/prod/MconfLive.html
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/resources/prod/lib/bbb_api_bridge.js
bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
bigbluebutton-client/resources/prod/lib/deployJava.js
bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
bigbluebutton-client/src/org/bigbluebutton/main/views/AudioSelectionWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/VideoHolder.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/model/ChatConversation.as
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/phone/PhoneOptions.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/MediaItemRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoWindowItf.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videodock/views/VideoDock.mxml
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
2015-05-17 19:25:26 -03:00
Calvin Walton
c96f9f0cfe
Add a function to compare BBB version numbers
...
This can be used to check if e.g. recording is from a 0.9.0 or newer server
2015-04-14 17:33:49 -04:00
Calvin Walton
e1e2d78e50
Skip the 'ser' repair if there are no webcam videos
...
This was causing the sanity check to fail.
2015-03-24 21:15:49 -03:00
Calvin Walton
34b13eb807
Attempt to repair red5 'ser' files in sanity script
2015-03-24 21:15:49 -03:00
Calvin Walton
694213cf9b
Recording: Fix video EDL merge function on EDLs with recording marks applied
...
If the video EDL merge function is applied to an EDL that has already
been edited to apply recording marks, the merge function will change the
video start times to incorrect values on edit points during the timestamp
recalculation.
The fix is pretty simple; just pull in the timestamps from the entry that's
being merged in and apply them to the relevant videos.
This bug doesn't currently cause any issues in the BigBlueButton recording
scripts, since the existing code does the merge before the start/stop marks
are applied. But to avoid surprises later, it would be good to fix this.
2015-03-23 11:10:43 -04:00
Calvin Walton
5a2c7bae69
Fix beta recording update script
...
It had some leftover debug code that caused it to only convert the
first 10 recordings instead of all of them.
The name of the '.done' file is changed so the update will be re-run
automatically.
2015-03-20 17:48:05 -03:00
Calvin Walton
e75bb15ad0
Fix beta recording update script
...
It had some leftover debug code that caused it to only convert the
first 10 recordings instead of all of them.
The name of the '.done' file is changed so the update will be re-run
automatically.
2015-03-18 14:56:00 -04:00
Calvin Walton
eedbafa94f
Adjust recording system to archive, but not process, recordings with no marks
...
This allows them to be preserved for a period of time, rather than be
deleted immediately. Useful for recovering recordings when someone forgot
to press the record button during the session.
2015-03-11 13:40:56 -04:00
Felipe Cecagno
cb50a8a304
Merge branch '090-presentation-export' into mconf-live0.6.2
2015-02-02 14:06:40 -02:00
Felipe Cecagno
ad25125b19
reverted back the previous implementation of presentation_export as process/publish scripts instead of just one publish script; now rap-worker cleans the workspace when the presentation format is published, so presentation dependet formats can execute in the next run
2015-02-02 14:06:20 -02:00
Felipe Cecagno
d1bcfe9189
do not run the publish script if the process script failed
2015-02-02 13:59:29 -02:00
Felipe Cecagno
1de10b2339
protect rap-worker to write the processing_time file when the directory isn't there yet
2015-02-02 13:58:57 -02:00
Calvin Walton
c90e5f8990
Skip the 'ser' repair if there are no webcam videos
...
This was causing the sanity check to fail.
2015-01-30 10:11:44 -05:00
Calvin Walton
c6f976db4b
Attempt to repair red5 'ser' files in sanity script
2015-01-27 14:01:29 -05:00
Felipe Cecagno
8e12c909c5
Merge branch '090-encrypted-recording' into HEAD
...
Conflicts:
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
record-and-playback/core/Gemfile
record-and-playback/deploy.sh
2015-01-21 15:51:29 -02:00
Calvin Walton
65bb9ce47e
recording: Strip out the 'event:' from the beginning of urls in chat
2014-12-08 11:43:26 -05:00
Felipe Cecagno
f077cc1f98
do not generate a .fail file during the archive phase if no recording marks were detected
2014-11-26 15:37:19 -02:00
Felipe Cecagno
6b863595b2
removing the keys during the archive phase if there's no recording marks in the recording
2014-11-26 12:06:15 -02:00
Calvin Walton
213dc07c19
Merge pull request #428 from mconf/rap-publish-events
...
Rap publish events
2014-11-14 12:08:44 -02:00
Felipe Cecagno
1c143c74a1
refactored rap-worker so variable names make more sense than before
2014-11-13 23:10:22 -02:00
Felipe Cecagno
0cefee5534
now the rap scripts publish to redis pubsub (channel bigbluebutton:from-rap) when a rap phase begins and ends - it includes archive, sanity, post_archive, process, post_process, publish and post_publish; if there's more than one workflow, it should work without any modification
2014-11-12 17:28:33 -02:00
Felipe Cecagno
f52a0299a6
fixed the deploy script used to deploy the rap dev environment
2014-11-12 17:21:54 -02:00
Felipe Cecagno
b451b4cf84
removed god code on the record scripts
2014-11-12 17:20:10 -02:00
Fred Dixon
9cdc47d16d
Merge pull request #426 from kepstin/recording-updates-2
...
Load bigbluebutton.yml from current path
2014-11-12 16:30:34 -02:00
Calvin Walton
30fdd13af8
Load bigbluebutton.yml from current path
2014-11-12 16:25:52 -02:00
Fred Dixon
48b9c5a01d
Merge pull request #403 from kepstin/recording-updates-2
...
Version the playback files for the presentation recording format
2014-11-12 16:02:13 -02:00
Calvin Walton
98efa28316
Add a script to handle updating links in existing recordings
...
This adds the version number to the playback links so that
recordings select the correct version-specific playback support
files.
This script may be run automatically during upgrade; in that
case it should be run like
.../bbb-0.9-beta-recording-update --quiet
After copying recordings from an old BigBlueButton server, you
may want to manually re-run the script, and it takes the option
--force to recheck all recordings even if it has previously been
run.
2014-11-12 15:54:45 -02:00
Fred Dixon
fd06539c43
Merge pull request #423 from kepstin/recording-updates
...
Add delay before recording archiving to workaround Red5 race
2014-11-12 12:18:32 -02:00
Calvin Walton
961898c1e9
Add delay before recording archiving to workaround Red5 race
...
Right now there is a possibility that the rap-worker process might
see the recording.done file (written by bbb-web) prior to Red5 having
completed writing the video files to disk.
This happens most often when a meeting end api request is sent while a
webcam is visible.
Add a delay (currently 2 minutes) before the archive scripts are run
to work around the issue. Real fix is far more complicated...
2014-11-12 11:13:57 -02:00
Richard Alam
8f38fa1f30
- find audio wav files even if they are located in sub dirs
2014-10-08 13:50:41 -07:00
Calvin Walton
49b66d6eb6
Fix publish step failing when multiple recordings processed in one run
...
The logic for deleting the process done files was wrong, resulting in
the script (attempting and failing) deleting all of the done files for
all of the processed recordings after the publish completes for one of
them.
Fix the logic to only delete the process done file for the recording that
just completed publishing.
2014-10-08 11:08:22 -04:00
Felipe Cecagno
f68b0e4a16
cleanup
2014-09-01 17:53:57 -03:00
Felipe Cecagno
dd97b8f80c
Merge branch 'encrypted-recording' into 090-encrypted-recording
...
Conflicts:
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
2014-09-01 16:46:03 -03: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