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
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
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
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
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
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
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
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
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
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
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
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
366b01fff7
webrtc deskshare work on recording scripts
2015-09-25 18:05:54 +00:00
Fred Dixon
c99da48041
Removed uneeded script
2015-08-13 17:32:03 -04: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
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
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
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
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
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
Richard Alam
c56fde0c42
Merge pull request #348 from speakserve/unify-version-number
...
Unify version number
2014-08-13 14:17:45 -04:00
Ghazi Triki
bb09eb6d75
After checking we bumped projects version and Flex locales to 0.9.0 with some fixes
2014-08-13 12:20:10 +01:00
Ghazi Triki
9a794f854a
Bumped projects version and Flex locales to 0.9
2014-08-13 10:28:08 +01:00
Calvin Walton
8f7bf010fd
Switch "post" scripts to be a drop-in directory.
2014-08-11 14:57:32 -04:00