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
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
65bb9ce47e
recording: Strip out the 'event:' from the beginning of urls in chat
2014-12-08 11:43:26 -05: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
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
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
Calvin Walton
0841dd4233
Vorbis needs more bitrate for input with higher sample rate/stereo
2014-08-22 16:14:35 -04:00
Calvin Walton
2ac9de71a7
Use the correct timestamp for file start seek
2014-08-22 15:17:10 -04:00
Calvin Walton
7b205bdbf7
Rewrite audio processing to use ffmpeg
...
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.
2014-08-22 15:04:14 -04:00
Calvin Walton
c82a25f700
recording: Add a 'mkclean' step to video generation
...
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.
2014-07-23 09:55:03 -04:00
Calvin Walton
b91a54afa0
record core: Remove hardcoded ffmpeg path
...
The ffmpeg binary should be looked up using the normal PATH mechanism,
it might not always be installed in the same place.
2014-07-21 14:59:33 -04:00
Gustavo Salazar
67422a4450
set version in archive
2014-05-06 17:15:10 -05:00
Gustavo Salazar
fb013e751f
support bbb_version in events.xml
2014-05-06 14:42:03 -05:00
Richard Alam
460dfb52bf
- modify scripts so we can run it manually
2014-04-03 20:23:49 +00:00
Gustavo Salazar
ff96b6a97a
absolute path to ffmpeg and ffprobe.
2014-03-31 18:13:52 -05:00
Fred Dixon
332824a42c
Fixes so rap-worker.rb executes
2014-03-26 23:52:59 +00:00
Felipe Cecagno
3440ed0fe3
Merge branch 'v0.81' into record-button
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
2014-01-14 14:05:41 -02:00
Calvin Walton
de0bac6f76
Skip corrupt/empty audio files when processing recording.
...
Now when an empty/corrupt audio file is detected, it will be replaced
with silence.
2013-10-18 11:39:03 -04:00
Calvin Walton
8facc0899e
Check for corrupt video files, don't attempt to render them
...
A corrupt video file is defined as one where ffprobe either finds no
video stream, or it finds a video stream but cannot read any frames.
2013-10-11 11:19:40 -04:00
Richard Alam
92a31599f9
Merge pull request #270 from kepstin/presentation-resiliance
...
Make generation of png images for pdf pages more resiliant.
2013-10-04 12:50:22 -07:00
Calvin Walton
420b0b5573
Make generation of png images for pdf pages more resiliant.
...
We now use ghostscript to output pngs directly from the original pdf,
rather than using convert on the split pages. This should make corrupt
or strange pdfs less likely to cause issues.
As well, if a pdf page conversion fails (for any reason, including that
the original pdf is missing...) it will be logged, and a blank page
generated, and processing will continue.
2013-10-04 15:25:13 -04:00
Felipe Cecagno
8830951ac0
to specify the duration on ffmpeg we use -t instead of -to
2013-10-04 11:04:21 -03:00
Felipe Cecagno
00d0eb7b43
we only to the match between the video events and the record status events AFTER the webcam and deskshare merge
2013-10-04 11:03:49 -03:00
Gustavo Salazar
5dff55fb13
remove audio extension in webcam processing for matterhorn
2013-10-03 13:50:31 -05:00
Felipe Cecagno
d8b3375f48
we don't want to archive recordings in which there's no mark to start the recording; it would be the same as if the meeting would be created with record=false - the only difference is that the events are archived to recordings/raw/meeting_id/events.xml, and the recorded .done flag is created as well
2013-10-02 14:18:26 -03:00
Gustavo Salazar
ca6e32bc93
separate scaling and padding commands for deskshare
2013-10-01 17:11:23 -05:00
Gustavo Salazar
cfc6b3385b
set sample rate
2013-10-01 17:05:55 -05:00
Gustavo Salazar
5d5d135557
set video quality
2013-10-01 16:53:39 -05:00
Guilherme Augusto Dias
00d4c69f78
Fix audio processing issue
...
Fix an issue that occurs on processing recordings with no audio
2013-09-27 19:26:33 +00:00
Felipe Cecagno
32b52fefb8
start and stop recording marks are being considered in all medias (audio, video and deskshare); still needs to figure out the inconsistency when the last participant leaves the conference while it's being recorded, but couple of seconds later another participant joins the meeting; the problem is that after the last user leaves the conference, the scope is deleted so the recording flag is lost, and when the scope is created again, the recording flag has the default value, that is false; also, what should we do if the user doesn't click on the recording button? how to differentiate recordings made in a version with or without the recording button?
2013-09-25 00:34:15 -03:00
Felipe Cecagno
cf8b31591c
this commit is an unfinished work; the new code that generates the audio and video files in the recording is being adapted to take into account the recording marks; the audio is done, but video and desktop sharing is still missing
2013-09-24 18:03:12 -03:00
Felipe Cecagno
aa597fe985
Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into record-button-client
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
record-and-playback/core/lib/recordandplayback.rb
record-and-playback/core/lib/recordandplayback/generators/audio_processor.rb
record-and-playback/core/lib/recordandplayback/generators/events.rb
record-and-playback/core/lib/recordandplayback/generators/video.rb
record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-24 15:03:44 -03:00
Felipe Cecagno
33d98bbff2
implemented the record button both client-side and server-side; still needs more work on the processing scripts; still needs to update the record button icons
2013-09-23 18:33:30 -03:00
Felipe Cecagno
54a34b4475
Merge branch 'record-button' of github.com:fcecagno/bigbluebutton into record-button
...
Conflicts:
record-and-playback/core/lib/recordandplayback/generators/events.rb
2013-09-18 18:02:18 -03:00
Calvin Walton
ca9a4c2b92
Bump the max difference for audio stretch up to 5%
2013-08-26 13:33:23 -04:00
Calvin Walton
c2884bdb9d
Add missing license header to edl.rb
2013-08-26 11:44:22 -04:00
Calvin Walton
42e195bbe8
Rewrite the audio/video encoding components for BigBlueButton.
...
I've been working on this for a while, and it's adapted from code that
has been fairly well-tested on a wide variety of recordings. I've found
it to do a more accurate job of combining multiple webcam files, and it
should be more accurate in the audio as well.
Another key feature is that it does fewer re-encoding steps during video
processing, which should both speed it up and hopefully improve quality.
The settings on the VP8 encoder have been tuned somewhat as well.
2013-08-26 11:20:33 -04:00
Calvin Walton
0fa60e2bc3
Use the old sox trim syntax for the version on ubuntu lucid
2013-08-15 13:36:52 -04:00
Calvin Walton
6b56c4103d
Correct variable name to refer to original audio length
2013-08-15 13:34:19 -04:00
Calvin Walton
d2afbe9383
Convert timestamps to numbers for subtraction
2013-08-15 13:30:36 -04:00
Calvin Walton
acbd0e5b7e
Stretch freeswitch audio to match event timing
...
This helps maintain audio sync with video and events when freeswitch's
internal timing differs from red5's.
2013-08-14 17:25:10 -04:00
Guilherme Augusto Dias
daa32dab41
Fix slicing process
...
Fix events timestamp and duration
2013-08-01 13:59:02 +00:00
Guilherme Augusto Dias
dc249bf347
Slice timeline
...
Slice timeline according to START/STOP record events
2013-07-29 16:45:56 +00:00