summaryrefslogtreecommitdiffstats
path: root/roles/bbb
diff options
context:
space:
mode:
Diffstat (limited to 'roles/bbb')
-rw-r--r--roles/bbb/tasks/main.yml10
-rwxr-xr-xroles/bbb/templates/bigbluebutton.yml73
-rw-r--r--roles/bbb/templates/video.yml81
3 files changed, 164 insertions, 0 deletions
diff --git a/roles/bbb/tasks/main.yml b/roles/bbb/tasks/main.yml
index 1a4b115..017e939 100644
--- a/roles/bbb/tasks/main.yml
+++ b/roles/bbb/tasks/main.yml
@@ -16,3 +16,13 @@
with_file:
- ../../base/files/keys/sachac
- ../../base/files/keys/orga
+- name: Set up video.yml
+ become: true
+ template:
+ src: video.yml
+ dest: /usr/local/bigbluebutton/core/scripts/video.yml
+- name: Set up bigbluebutton.yml
+ become: true
+ template:
+ src: bigbluebutton.yml
+ dest: /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
diff --git a/roles/bbb/templates/bigbluebutton.yml b/roles/bbb/templates/bigbluebutton.yml
new file mode 100755
index 0000000..beb8ce8
--- /dev/null
+++ b/roles/bbb/templates/bigbluebutton.yml
@@ -0,0 +1,73 @@
+bbb_version: '3.0.9'
+raw_audio_src: /var/freeswitch/meetings
+mediasoup_video_src: /var/mediasoup/recordings
+mediasoup_screenshare_src: /var/mediasoup/screenshare
+webrtc_recorder_video_src: /var/lib/bbb-webrtc-recorder/recordings
+webrtc_recorder_screenshare_src: /var/lib/bbb-webrtc-recorder/screenshare
+webrtc_recorder_audio_src: /var/lib/bbb-webrtc-recorder/audio
+raw_deskshare_src: /var/bigbluebutton/deskshare
+raw_presentation_src: /var/bigbluebutton
+notes_endpoint: http://127.0.0.1:9002/p
+# Specify the notes formats we archive
+# txt, doc and odt are also supported
+notes_formats:
+ - etherpad
+ - html
+ - pdf
+redis_host: 127.0.0.1
+redis_port: 6379
+# Uncomment and set password if redis require it.
+# redis_password: changeme
+
+# redis_workers_host: 127.0.0.1
+# redis_workers_port: 6379
+
+# Set to true to insert recording process status into
+# redis list with key "store_recording_status: true".
+# This is useful if you want to track progress status
+# and have another script process it.
+store_recording_status: false
+# Whether to anonymize the sender of chat messages in the processed
+# recordings. The settings here are the defaults; they can be overridden
+# by passing meta parameters on the meeting create call.
+# meta param: meta_bbb-anonymize-chat (true/false)
+anonymize_chat: false
+# By default only names of viewers are anonymized - if you would also
+# like to anonymize moderators, you can set this to true:
+# meta param: meta_bbb-anonymize-chat-moderators (true/false)
+anonymize_chat_moderators: false
+# By default, recordings assume the Viewer viewpoint (with all locks)
+# so when webcamsOnlyForModerator=true, only moderators webcams are included in recordings.
+# Use this option to ignore locks and assume Moderator viewpoint instead.
+show_moderator_viewpoint: false
+# Sequence of recording steps. Keys are the current step, values
+# are the next step(s). Examples:
+# current_step: next_step
+# "current_step-format": "next_step-format"
+# current_step:
+# - next_step
+# - another_step-format
+steps:
+ archive: "sanity"
+ sanity: "captions"
+ captions:
+ - "process:presentation"
+ - "process:video"
+ "process:presentation": "publish:presentation"
+ "process:video": "publish:video"
+# For PRODUCTION
+log_dir: /var/log/bigbluebutton
+events_dir: /var/bigbluebutton/events
+recording_dir: /var/bigbluebutton/recording
+published_dir: /var/bigbluebutton/published
+captions_dir: /var/bigbluebutton/captions
+playback_host: bbb.emacsverse.org
+playback_protocol: https
+
+# For DEVELOPMENT
+# This allows us to run the scripts manually
+#scripts_dir: /home/ubuntu/dev/bigbluebutton/record-and-playback/core/scripts
+#log_dir: /home/ubuntu/temp/log
+#recording_dir: /home/ubuntu/temp/recording
+#published_dir: /home/ubuntu/temp/published
+#playback_host: bbb.emacsverse.org
diff --git a/roles/bbb/templates/video.yml b/roles/bbb/templates/video.yml
new file mode 100644
index 0000000..461372b
--- /dev/null
+++ b/roles/bbb/templates/video.yml
@@ -0,0 +1,81 @@
+publish_dir: /var/bigbluebutton/published/video
+playback_dir: /usr/local/bigbluebutton/core/playback/video
+# offset applied to audio in the output video file
+# audio_offset = 1000 means that the audio will be delayed by 1000ms
+audio_offset: 0
+
+layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: presentation
+ x: 0
+ y: 0
+ width: 960
+ height: 720
+ - name: webcam
+ x: 960
+ y: 0
+ width: 320
+ height: 720
+ - name: deskshare
+ x: 0
+ y: 0
+ width: 960
+ height: 720
+ pad: true
+nopresentation_layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: webcam
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+nowebcam_layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: presentation
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ - name: deskshare
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ pad: true
+formats:
+ #- mimetype: 'video/mp4'
+ # extension: m4v
+ # parameters:
+ # - [ '-c:v', 'copy', # Use working format codec defined in core/lib/recordandplayback/edl/video.rb
+ # '-c:a', 'aac', '-b:a', '128K',
+ # '-f', 'mp4', '-movflags', 'faststart' ]
+ # postprocess: []
+ - mimetype: 'video/webm;codecs="vp09.00.41.08,opus"'
+ extension: webm
+ parameters:
+ # # Default single-pass encode
+ # #- [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ # # '-crf', '31', '-quality', 'good', '-speed', '2', '-tile-columns', '2', '-threads', '2',
+ # # '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ # # '-c:a', 'libopus', '-b:a', '64K',
+ # # '-f', 'webm' ]
+ # Slower but better quality two-pass encode
+ - [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ '-crf', '31', '-quality', 'good', '-pass', '1', '-speed', '4', '-tile-columns', '2', '-threads', '2',
+ '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ '-an',
+ '-f', 'webm' ]
+ - [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ '-crf', '31', '-quality', 'good', '-pass', '2', '-speed', '2', '-tile-columns', '2', '-threads', '2',
+ '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ '-c:a', 'libopus', '-b:a', '64K',
+ '-f', 'webm' ]