add recording

This commit is contained in:
Sofyan Sugianto 2020-06-12 06:44:04 +07:00
parent b010da33a2
commit 1800ce0cf8
6 changed files with 79 additions and 11 deletions

View File

@ -39,7 +39,8 @@ RUN equivs-control redis-server.control \
RUN apt-get update && apt-get install -y bbb-web \ RUN apt-get update && apt-get install -y bbb-web \
bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \ bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \
bbb-apps-video bbb-apps-screenshare bbb-apps-video-broadcast bbb-apps-video bbb-apps-screenshare bbb-apps-video-broadcast \
bbb-record-core bbb-playback-presentation
# -- avoid blocking java # -- avoid blocking java
# https://github.com/bigbluebutton/bigbluebutton/issues/8959 # https://github.com/bigbluebutton/bigbluebutton/issues/8959
@ -65,6 +66,8 @@ COPY bbb-apps-akka/application.conf /usr/share/bbb-apps-akka/conf/application.co
COPY bbb-fsesl-akka/application.conf /etc/bbb-fsesl-akka/application.conf COPY bbb-fsesl-akka/application.conf /etc/bbb-fsesl-akka/application.conf
COPY bbb-transcode-akka/application.conf /etc/bbb-transcode-akka/application.conf COPY bbb-transcode-akka/application.conf /etc/bbb-transcode-akka/application.conf
COPY web-run.sh /usr/share/bbb-web/run-prod.sh COPY web-run.sh /usr/share/bbb-web/run-prod.sh
COPY bbb-playback-presentation/presentation.yml /usr/local/bigbluebutton/core/scripts/
RUN mkdir -p /usr/src/bbb-playback-presentation && cp -r /var/bigbluebutton/playback /usr/src/bbb-src-playback
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh /entrypoint.sh
@ -74,4 +77,3 @@ RUN mkdir -p /var/log/supervisor
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]
CMD [] CMD []

View File

@ -0,0 +1,20 @@
video_output_width: 640
video_output_height: 480
# Alternate output size to use when deskshare videos are present
# Set higher so that deskshare output is higher quality, but uses more space.
deskshare_output_width: 1280
deskshare_output_height: 720
# offset applied to audio in the output video file
# audio_offset = 1200 means that the audio will be delayed by 1200ms
audio_offset: 0
include_deskshare: true
# For PRODUCTION
publish_dir: /var/bigbluebutton/published/presentation
video_formats:
- webm
# - mp4
# For DEVELOPMENT
#publish_dir: /home/ubuntu/temp/published/presentation

View File

@ -17,6 +17,9 @@ mkdir -p /var/bigbluebutton/unpublished
# -- fix directory permissions # -- fix directory permissions
chown -R bigbluebutton:bigbluebutton /var/bigbluebutton chown -R bigbluebutton:bigbluebutton /var/bigbluebutton
# add playback-presentation to /var/bigbluebutton volume
cp -r /usr/src/bbb-src-playback /var/bigbluebutton/playback
dockerize \ dockerize \
-template /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl:/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties \ -template /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl:/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties \
-template /usr/share/bbb-apps-akka/conf/application.conf.tmpl:/usr/share/bbb-apps-akka/conf/application.conf \ -template /usr/share/bbb-apps-akka/conf/application.conf.tmpl:/usr/share/bbb-apps-akka/conf/application.conf \

View File

@ -43,4 +43,47 @@ stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2 stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0 stderr_logfile_maxbytes=0
[program:rap-archive-worker]
command=/usr/local/bin/prefix-log /usr/local/bin/recorder-monitor.py --event archive
user=bigbluebutton
directory=/usr/local/bigbluebutton/core/scripts
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0
[program:rap-events-worker]
command=/usr/local/bin/prefix-log /usr/local/bin/recorder-monitor.py --event events
user=bigbluebutton
directory=/usr/local/bigbluebutton/core/scripts
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0
[program:rap-process-worker]
command=/usr/local/bin/prefix-log /usr/local/bin/recorder-monitor.py --event process
user=bigbluebutton
directory=/usr/local/bigbluebutton/core/scripts
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0
[program:rap-publish-worker]
command=/usr/local/bin/prefix-log /usr/local/bin/recorder-monitor.py --event publish
user=bigbluebutton
directory=/usr/local/bigbluebutton/core/scripts
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0
[program:rap-sanity-worker]
command=/usr/local/bin/prefix-log /usr/local/bin/recorder-monitor.py --event sanity
user=bigbluebutton
directory=/usr/local/bigbluebutton/core/scripts
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0

View File

@ -192,7 +192,7 @@ userActivitySignResponseDelayInMinutes=5
# Disable recording by default. # Disable recording by default.
# true - don't record even if record param in the api call is set to record # true - don't record even if record param in the api call is set to record
# false - when record param is passed from api, override this default # false - when record param is passed from api, override this default
disableRecordingDefault=true disableRecordingDefault=false
# Start recording when first user joins the meeting. # Start recording when first user joins the meeting.
# For backward compatibility with 0.81 where whole meeting # For backward compatibility with 0.81 where whole meeting
@ -200,7 +200,7 @@ disableRecordingDefault=true
autoStartRecording=false autoStartRecording=false
# Allow the user to start/stop recording. # Allow the user to start/stop recording.
allowStartStopRecording=false allowStartStopRecording=true
# Allow webcams streaming reception only to and from moderators # Allow webcams streaming reception only to and from moderators
webcamsOnlyForModerator=false webcamsOnlyForModerator=false

View File

@ -105,11 +105,11 @@ public:
cameraProfiles: cameraProfiles:
- id: low - id: low
name: Low quality name: Low quality
default: false default: true
bitrate: 100 bitrate: 100
- id: medium - id: medium
name: Medium quality name: Medium quality
default: true default: false
bitrate: 200 bitrate: 200
- id: high - id: high
name: High quality name: High quality
@ -130,7 +130,7 @@ public:
clearUsersInSeconds: 180 clearUsersInSeconds: 180
pongTimeInSeconds: 15 pongTimeInSeconds: 15
allowOutsideCommands: allowOutsideCommands:
toggleRecording: false toggleRecording: true
toggleSelfVoice: false toggleSelfVoice: false
poll: poll:
enabled: true enabled: true