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.
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...
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.
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.
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.
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.
There's some fairly major changes here, including:
* All audio is resampled to 48kHz stereo on input, allowing files with
non-standard or varying rates to be mixed
* The audio processing is now done in a single pass; ffmpeg reads all
inputs, concatenates them, and outputs one file.
The 'mkclean' tool reorganizes the encoded webm file to optimize it for
streaming. In particular, it moves the index to the start of the file.
This fixes streaming in Chrome, which otherwise had a very long delay
before playback started since it downloaded until it saw the index
before it started playback.
This needs a new dependency added to the bbb-record-core package to
pull in the mkclean tool.
I had it on DEBUG temporarily for testing. The old version used ERROR,
but this made it print virtually no output which made diagnosing
issues difficult.
It now does much less directory reading, and performance should
scale far better with large numbers of recordings.
Semantics should be mostly unchanged, but there's greater use
of '.fail' files to mark errors, and '.done' files are now removed
after all of the following processing steps complete.
The rap worker no longer relies on processing scripts leaving
behind empty directories; those are now removed where appropriate.