Calvin Walton
c7967810b2
Revert the presentation publish page index altering
...
This was added because BigBlueButton 0.9 started using 1-based page
numbers in the events.xml file. That change has been reverted, so as
to avoid behaviour changes from 0.81 in places where it's unnecessary.
2014-09-02 15:46:52 -04:00
Calvin Walton
15fe621523
Use the timestamp from the meeting ID to calculate the real start time
...
With the switch to a different clock source in red5, the timestamps
in the events file are no longer real-time, but are rather in
seconds since computer boot.
The timestamp in the meeting id is still realtime, so use that as
the start time. Calculate the end time by adding the meeting length
to the start time.
2014-08-29 11:19:59 -04: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
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
Ghazi Triki
ac7af7dfea
Manually bumped all application version to the correct actual version 0.9.0-dev
2014-07-31 17:42:38 +01:00
Calvin Walton
c73fe81e50
rap-worker: Add /usr/local/bin to the path.
2014-07-28 11:02:38 -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
86e8394e70
rap-worker: Ensure status directories are created
...
In some cases, it was attempting to create a status file in a directory
that did not exist yet.
2014-07-23 09:50:52 -04:00
Calvin Walton
11045c7f4a
rap-worker: Set log level to 'INFO'
...
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.
2014-07-21 15:00:29 -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
Calvin Walton
efb44c9dd9
Rewrite rap-worker script in an optimized fashion
...
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.
2014-07-21 14:58:46 -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
Gustavo Salazar
ab648a5f73
pass only meeting id to post publish script
2014-05-05 18:27:26 -05:00
Gustavo Salazar
6a47005f34
spinner in playback while loading media
2014-04-30 17:35:53 -05:00
Gustavo Salazar
efda95fed6
delete temp files
2014-04-29 10:33:23 -05:00
Gustavo Salazar
b1e82fe58d
post scripts for record and playback
2014-04-24 19:08:06 -05:00
Gustavo Salazar
7d291abcfd
delete old raw dir from published recordings
2014-04-14 15:14:14 -07:00
Gustavo Salazar
4989b195f4
set absolute path to ffmpeg
2014-04-07 12:14:47 -07: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
Calvin Walton
7b48cacb59
Reverse the check for http response code.
...
There are many codes other than '404' which indicate that the media
file is not present or otherwise unusable. Instead of checking for
a particular failure mode, check for explicit success.
I ran into this on a server that had directory listing disabled, and
returned a 403 (access denied) error on non-existant files.
2014-03-05 14:42:08 -05:00
Gustavo Salazar
99866d43a7
Print audio file name with problems.
2014-01-30 10:45:43 -05:00
Gustavo Salazar
8a32c657d5
Handle negative index in slide number.
...
Related to issue #1710
2014-01-23 16:36:28 -05:00
Gustavo Salazar
614cbdde92
Fix #1711
...
Support pdf extension in uppercase https://code.google.com/p/bigbluebutton/issues/detail?id=1711
2014-01-23 14:03:09 -05:00
Felipe Cecagno
98f1d51461
fixing the handling of multiple drawings from a single shape
...
bug could be easily reproduced typing text, erase part of it and then type again
2014-01-14 18:17:39 -02: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
Felipe Cecagno
dab7547014
added a check on presentation publish script to avoid the duplication of thumbnails for a given slide
2013-12-02 15:23:02 -02:00
Felipe Cecagno
955f9edc99
fixing the issue of the whiteboard annotations not being shown in the proper slide; cleaning the environment (events.xml, recorded flag) when the session was recorded but the record button wasn't used
2013-12-02 13:57:05 -02:00
Calvin Walton
1d488e3c56
Last-ditch fix for missing presentation images
...
We can only get here if all of the files for the presentation are
*completely* missing. One thing that can cause this is if the
presentation filename starts with a '.' character - the presentation
files aren't correctly archived then.
2013-10-31 18:56:09 -02:00
Richard Alam
e220f120cc
Merge pull request #280 from kepstin/firefox-audio-seek
...
Switch the order of the audio formats on firefox playback
2013-10-23 13:59:49 -07:00
Calvin Walton
4a45b3610b
Switch the order of the audio formats on firefox playback
...
Firefox has a bug where it can't seek in the audio-only webm files with
no cues, and it seems like they have no intention of fixing this...
Serve up the ogg files first for them.
Adding cues to audio-only webm files is *hard*, there are no standard
tools that support doing this cleanly.
2013-10-23 16:35:21 -04:00
Calvin Walton
e6fe43f9b6
Fix a logger method call in presentation script
...
This shouldn't normally be hit... but if it ever is, the processing will
fail with an error, since the Logger class doesn't have a method named
'warning'.
2013-10-23 10:01:02 -04:00
Gustavo Salazar
38f8ed5741
Support processing of images with extension .jpeg
2013-10-18 17:46:07 -05: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
Guilherme Augusto Dias
129e942d16
Add recording length information to metadata file
...
Add a tag containing the duration of the recording to metadata file
2013-10-15 14:29:49 +00: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
Guilherme Augusto Dias
dcabfc46fa
Cut off unwanted slide events
...
Ignore slide events that happened after the last stop recording timestamp
2013-10-10 13:53:32 +00:00
Guilherme Augusto Dias
0d1c64f3ae
Show thumbnail timestamp
...
The timestamp of first thumbnail is shown when the presentation starts.
2013-10-10 13:06:38 +00:00
Guilherme Augusto Dias
67fee3bff5
Correct clear/undo timestamp translation
...
Postpone the translation of timestamp for clear/undo events, so the events are applied correctly.
2013-10-09 19:51:46 +00:00
Felipe Cecagno
6e0553ed7c
Merge branch 'record-button' of github.com:guilhermedias/bigbluebutton into record-button
...
Conflicts:
record-and-playback/presentation/scripts/publish/presentation.rb
2013-10-07 22:36:31 -03:00
Guilherme Augusto Dias
8c89024084
Fix issue in multi-segment recording
...
Correctly draw shapes in multi-segment recordings.
2013-10-07 20:08:14 +00:00
Felipe Cecagno
d9dfe4a5d0
fixed partially the issue with the shapes timestamp made after the first period of recording, there's still work to do
2013-10-04 16:52:53 -03: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
f49091c260
Merge branch 'record-button' of https://github.com/guilhermedias/bigbluebutton into record-button
2013-10-04 11:26:48 -03: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
Guilherme Augusto Dias
9d1dd1d8d2
Fix shape/image matching test
...
Fix iteration range when checking if a shape is within an image
2013-10-02 22:32:16 +00:00
Guilherme Augusto Dias
1b6c5a5b58
Highlight thumbnail
...
The thumbnail of the first slide starts highlighted
2013-10-02 22:31:10 +00: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
c5e4820f25
don't pass the file extension
2013-10-01 17:02:36 -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
322176ddf3
Merge branch 'record-button' of https://github.com/guilhermedias/bigbluebutton into record-button
...
Conflicts:
record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-26 13:06:15 -03:00
Guilherme Augusto Dias
99b17e6f58
Change shape timestamps generation
...
The timestamps of shapes drawn during a non recording period are being correctly generated.
2013-09-26 13:32:55 +00:00
Felipe Cecagno
4abf4f76d4
if the slide time is 0 and you click on his thumbnail, you will want to see &t=0s, not &t=
2013-09-25 01:32:16 -03: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
b5b81c1c4d
refactored a little bit the function translateTimestamp; the images that are never displayed aren't included on the svg file anymore; still have to figure out the issue with the shapes made BEFORE start the recording - for now we cannot differentiate shapes made on the current slide and the ones made on a previous slide before start the recording
2013-09-19 15:22:22 -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
Felipe Cecagno
237268424f
the timestamps of the recording events are normalized now, matching the recording marks; still need more testing when there are multiple start-stop recording events; the whiteboard actions are already working, including the slides, but slides that are outside of the recording period are still being loaded in the svg file (#TODO)
2013-09-18 17:54:51 -03:00
Guilherme Augusto Dias
1bd0d7ee4a
Draw multiple shapes
...
Playback script supports drawing multiple shapes at the same time
2013-09-18 17:59:13 +00:00
Guilherme Augusto Dias
78c77fb362
Create timestamp attribute
...
Shape tags have a timestamp attribute (id attribute no longer includes timestamp information).
2013-08-28 17:51:06 +00:00
Calvin Walton
2b5aab3224
Change the background color of the video area to white to match
...
The new scripts render the videos over white, so you get occasional
black bits sneaking in without this.
2013-08-27 11:27:13 -04:00
Calvin Walton
ca9a4c2b92
Bump the max difference for audio stretch up to 5%
2013-08-26 13:33:23 -04:00
Calvin Walton
0473682137
Reset the offset to 0; the new scripts seem to have better sync?
2013-08-26 13:23:49 -04:00
Calvin Walton
c2884bdb9d
Add missing license header to edl.rb
2013-08-26 11:44:22 -04:00
Calvin Walton
7c7540a0de
Add a video quality bump when deskshare videos are present.
2013-08-26 11:27:53 -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
Chad Pilkey
7229d1a45d
added back in the playback buffering indicator and fixed some issues with it
2013-08-23 08:54:45 -07:00
Gustavo Salazar
26e6876136
Fix #1606
2013-08-19 20:17:10 -05: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
Chad Pilkey
3f648000a2
add back in the fix for playback acorn media player swap oddities
2013-08-14 12:15:15 -07:00
Chad Pilkey
6b00d4f029
add back in playback headings
2013-08-14 12:05:55 -07:00
Chad Pilkey
b309d8a13b
changed the way the playback volume bar is exposed
2013-08-07 15:35:27 -07:00
Guilherme Augusto Dias
a762a030ec
Chat events timestamp
...
Calculating timestamp of chat events correctly
2013-08-05 20:32:04 +00:00
Guilherme Augusto Dias
963ea8a1f1
Process chat events
...
Process chat events according to START/STOP record events
2013-08-05 19:13:19 +00:00